Forum Stats

  • 3,873,270 Users
  • 2,266,529 Discussions


Open APIs for Data Analytics Accelerator (DAX)

Javed A Mohammed-Oracle
Javed A Mohammed-Oracle Member Posts: 159 Employee

by Vijay Tatkar

Open API libraries enable you to programmatically access the Data Analytics Accelerator (DAX) coprocessors in Oracle's SPARC processors.

What Is DAX?

Oracle's newly released SPARC processor–based servers and engineered systems introduce many Software in Silicon (SWiS) features. These SWiS features implement higher-level software functions directly into the processor logic, which significantly enhances performance and security.

One of the most exciting new capabilities of the SWiS innovations is the Data Analytics Accelerator (DAX). DAX is specialized hardware that is built into the processor and is designed to radically improve performance of analytics-related algorithms. For more information about DAX, see "What Is the SPARC M7 Data Analytics Accelerator?"

Open API Libraries

You can programmatically access DAX by using the following open API libraries.

  • libdax
  • vector

The libdax library provides access to DAX and is available as the shared library. Some of the operations that you can perform by using the libdax library are as follows:

  • Select elements from a data stream
  • Scan the input elements in a data stream and compare them with a specified value
  • Decompress or unpack a data stream
  • Translate input elements in a data stream based on a lookup table
  • Log the activities of the functions in the library
  • Compute logical AND, OR, and XOR for the elements in a data stream
  • Perform asynchronous DAX operations

The libdax library is thread-safe. It also allows you to add DTrace probes to gather data that you can use for debugging, performance analysis, and tuning.

For the complete list of functions available in the libdax library, see the dax.h header file (requires login).

For information on stream processing using the libdax library, see "Introduction to Stream Processing Using the DAX API."

The vector library abstracts the DAX operands as vectors and, hence, allows you to perform vector operations on the DAX operands. This library internally uses the libdax APIs to interact with DAX. Some of the operations that you can perform by using the vector library are as follows:

  • Create vector objects from files
  • Create vector objects from arrays in memory
  • Destroy a vector
  • Compare vectors
  • Filter a vector based on a condition
  • Get the type, count, and length of a vector

For the complete list of functions available in the vector library, see the vector.h header file (requires login).

The vector library is available in the C, C++, Java (JNI), Python, and SQL languages.

Feedback and Continuous Improvements

Oracle is constantly looking for your feedback to improve upon these APIs. Please use the [email protected] support alias to provide feedback or ask questions about the APIs.

See Also

About the Author

Vijay Tatkar is director of Oracle's ISV Engineering group and has over 27 years of experience at Sun and Oracle. Currently, his worldwide team works with independent software vendors (ISVs) to drive adoption and integration of Oracle systems technologies to build a strong ecosystem for Oracle Solaris and SPARC platforms. ISV Engineering collaborates with partners by defining joint roadmaps and engineering projects that create compelling, differentiated solutions. Tatkar also leads the Open API DAX engineering initiative. Prior to joining ISV Engineering, he managed the development of compilers, the Oracle Enterprise Developer Studio Performance Analyzer and Code Analyzer tools, and the cloud computing initiative at Sun.