Visible to Intel only — GUID: GUID-D2825D09-527E-4C80-8E3B-25B187FE89BD
Visible to Intel only — GUID: GUID-D2825D09-527E-4C80-8E3B-25B187FE89BD
Tables
This section describes the types related to the table concept.
Type |
Description |
---|---|
A common implementation of the table concept. Base class for other table types. |
|
An implementation of table metadata concept. |
|
An enumeration of data layouts used to store contiguous data blocks inside the table. |
|
An enumeration of feature types used in oneDAL to define set of available operations onto the data. |
Requirements on table types
Each implementation of table concept:
Follows the definition of the table concept and its restrictions (e.g., immutability).
Is derived from the oneapi::dal::table class. The behavior of this class can be extended, but cannot be weaken.
Defines a unique id number: the “kind” that represents objects of that type in runtime.
The following listing provides an example of table API to illustrate table kinds and copy-assignment operation:
using namespace onedal; // Creating homogen_table sub-type. dal::homogen_table table1 = homogen_table::wrap(queue, data_ptr, row_count, column_count); // table1 and table2 share the same data (no data copy is performed) dal::table table2 = table1; // Creating an empty table dal::table table3; std::cout << table1.get_kind() == table2.get_kind() << std::endl; // true std::cout << homogen_table::kind() == table2.get_kind() << std::endl; // true std::cout << table2.get_kind() == table3.get_kind() << std::endl; // false // Referring table3 to the table2. table3 = table2; std::cout << table2.get_kind() == table3.get_kind() << std::endl; // true
Table types
oneDAL defines a set of classes that implement the table concept for a specific data format:
Table type |
Description |
---|---|
A dense table that contains contiguoushomogeneous data. |
Programming interface
Refer to API: Tables.