ArrayFire-ML: an Accelerated Open Source Machine Learning Primitives Library
Award last edited on: 9/1/2020

Sponsored Program
Awarding Agency
Total Award Amount
Award Phase
Solicitation Topic Code
Principal Investigator
John Melonakos

Company Information

AccelerEyes LLC (AKA: ArrayFire )

3423 Piedmont Road Ne Suite 330
Atlanta, GA 30305
   (800) 570-1941
Location: Single
Congr. District: 05
County: Fulton

Phase I

Contract Number: W31P4Q-14-C-0012
Start Date: 10/31/2013    Completed: 7/31/2014
Phase I year
Phase I Amount
Technology focusing on collection, processing, and analysis of real-time data is playing a major role in military and civilian applications. With the advent of GPU and accelerator computing, the collection, processing, and analysis of real-time data streams is technically possible at an unprecedented scale. The first goal of this proposal is to quickly analyze high-bandwidth data streams by leveraging the computational throughput of heterogeneous computing, with particular focus on GPUs. The second goal is to build a highly intuitive and high-quality visualization platform using OpenGL for displaying real-time metrics of streaming data. AccelerEyes develops ArrayFire, which is the largest software library for GPU and accelerator computing and contains built-in functions for statistical analysis. In addition, ArrayFire also has a pre-existing technology platform for high-fidelity visualization of data, which must be extended to meet the demands of this solicitation. This proposal brings customers into the development process to ensure user-driven development and ultimate adopt-ability of the product. With some of the best graphics programming expertise in the industry, AccelerEyes is uniquely positioned to carry out the tasks outlined above and deliver outstanding results paving the way for Phase II of this project and eventual commercialization of this software.

Accelereyes, Arrayfire, Gpu Acceleration, Visual Computing, Opengl, Cuda, Opencl, Heterogeneous Computing

Phase II

Contract Number: W31P4Q-15-C-0008
Start Date: 00/00/00    Completed: 00/00/00
Phase II year
(last award dollars: 2018)
Phase II Amount

Our proposal includes the creation of a web-based platform that will benchmarking GPU applications accross numerous GPU cards located in the cloud. This is a useful tool for programmers with limited resources at hand. Further, we will open source the ArrayFire software library - the broadest OpenCL available. In addition to this, we will extend Array with additional functionality for image processing, computer vision, and social network analysis. All these crucial tools for data scientists. ---------- Numerous machine learning frameworks exist, each with highly variable support for accelerated computing (e.g. Graphics Processing Units (GPUs), Field-Programmable Gate Arrays (FPGAs), etc). A library of machine learning primitives couldsupport the many disparate frameworks and boost the advancement of machine learning research and programs, such as those underway in the DARPA Data-Driven Discovery of Models (D3M) program. This proposal seeks to build accelerated machine learning primitives into the ArrayFire Machine Learning Library (ArrayFire-ML). Features of ArrayFire-ML include: 1) transparent hardware acceleration due to ArrayFires ability to run on CUDA parallel computing platforms, within the Open Computing Language (OpenCL) framework, or on multi-core Central Processing Unit (CPU) devices, 2) support for many programming languages, including Python and Julia, via community language wrappers, 3) the robust and already deployed ArrayFire testing and documentation framework, 4) the active and broad existing ArrayFire open source community seeking additional machine learning functionality, and 5) with the proposed D3M primitives in ArrayFire-ML, all of ArrayFires existing math functions would become available for further research efforts on those primitives. In this proposal, we seek to provide a significant leap forward to the machine learning field by building a robust, open source library of accelerated machine learning primitives available to frameworks, the D3M program, and the broader research community.