Developer Guide and Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

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.
For DPC++ interfaces, oneDAL defines
SyclNumericTable
class that holds data on the device side. All numeric table implementations without
SYCL*
prefix in their name hold data on the host side. We recommend using classes derived from
SyclNumericTable
when computations are planned to be performed on a non-host device.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.