Numeric Tables#

Effective data management is one of the key components for achieving good performance in data analytics applications. oneDAL defines the NumericTable class that is responsible for storage of and access to the datasets represented in numeric format on the computational node:

  • NumericTable does not track data available on other nodes. The logic that controls synchronization of data between nodes should be implemented on the application level.

  • NumericTable does not accumulate information about data coming in streaming way. All necessary computations are done on the level of the oneDAL algorithm and/or application software.

The library supports the following data layouts:

  • Heterogeneous, Array Of Structures (AOS)

  • Heterogeneous, Structure Of Arrays (SOA)

  • Homogeneous, dense

  • Homogeneous matrix, dense

  • Homogeneous symmetric matrix, packed

  • Homogeneous triangular matrix, packed

  • Homogeneous, sparse CSR

The optimal data layout for homogeneous and heterogeneous numeric tables highly depends on a particular algorithm. You can find algorithm-specific guidance in the Performance Considerations section for the appropriate algorithm.