Industrial Data Science
in C# and .NET:
Simple. Fast. Reliable.

ILNumerics - Technical Computing

Modern High Performance Tools for Technical

Computing and Visualization in Industry and Science

ILNumerics Accelerator Compiler (v7 beta)

ILNumerics Accelerator compiler has one goal: to speed-up general array algorithms. Currently, it supports algorithms created with ILNumerics Computing Engine.

The compiler was developed by ILNumerics GmbH. It realizes many new optimizations – not only on a low scalar data level (as LLVM and others do). Additionally, it considers and optimizes larger chunks of code on a higher abstraction level of array functions and above. This way it has great freedom to make important decisions autonomously and at runtime.

These desisions include: the set of array instructions to be merged into larger segments, the cost of executing the segment with current intput array data, the selection of the most suited hardware resource available, the specialized, low level, optimized implementation on the selected hardware, scheduling of segments onto available compute resources, detection of independently executable algorithmic chunks, cross-device memory management, to name only a few.

In short: ILNumerics Accelerator considers all relevant data at runtime and lets the computer decide how to execute your algorithm fastest.

Programmers are released from having to deal with low-level, device specific optimizations. Programs automatically adopt to any hardware. Projects are finished faster, run faster and remain maintainable.

The ILNumerics Accelerator is currently available as a prerelease version 7 on nuget

The initial release of ILNumerics Accelerator focusses on fundamental unary, binary, reduce  and generator array instructions. Support for more complex instructions, as FFT, linear algebra, optimizations, interpolations, and more is planned. As the ultimate goal all parts of an algorithm comprise of supported ILNumerics array instructions. Such regions will be utilizing all parallel compute resources - with optimal efficiency.

The documentation for ILNumerics Accelerator is structured into the following sections:

Getting Started Guide I: Installation, First expressions, elementary functions involving sum() and others

Getting Started Guide II: Speeding-up the k-means algorithm

Configuration Options

Table of supported Features & Roadmap

Don't miss our introductory blog article series: part 1, part 2.