Ahead-of-time (AOT) compilation of kernels.
Native X86/X64 & SIMD CPU runtime.
Vulkan support via SPIR backend.
Initial support for lambda functions in GPU kernels.
June 2019

Release v0.6.0

Initial support for classes and lambda functions in GPU kernels. Specialization of kernels via dynamic partial evaluation.

Dynamic partial evaluation and specialization of kernels.
Limited support for class types in GPU kernels.
Native kernel debugging and profiling on GPU hardware.
Async loading of kernels to improve performance.
January/February 2019

Release v0.5.0

Polished and enhanced version of v0.5.0-beta.

Implementing feedback from the community.
December 2018

Release v0.5.0-beta

Significantly improved version of the ILGPU compiler.

Basic kernel debugging and profiling on GPU hardware.
Updated IR for enhanced code generation.
Significant compile-time improvements.
Implementing feedback from the community.
October 2018

Release v0.4.0 Beta

Public Beta Version. New Intermediate Representation (IR), code-transformation phases and backends. Cross platform support.

Cross platform support without any native dependencies.
Required code-transformation and code-generation phases for NVIDIA GPUs.
Novel Intermediate Representation (IR) for all ILGPU programs.
LLVM dependency for code generation will be removed.
March 2018

Release v0.3.0

New caching concept and .Net Standard 2.0 support. Support for selected Linux distributions via build scripts and support for portable PDB debug symbols.

New caching concept to simplify programming.
Support for selected linux distributions via custom build scripts.
Basic support for portable PDB debug symbols. Enhanced compiler error messages based on detailed debug information.
.Net Standard 2.0 support for full flexibility and cross-platform support.
October 2017

Release v0.2.0

New support for .Net Core 2.0, convenient kernel loading & caching.

Convenient kernel loading and caching.
New support for .Net Core 2.0. This allows users of the ILGPU compiler to compile and run their kernels on a huge variety of different target platforms in the future. However, the native dependencies have to be adjusted as well.
In order to support new LLVM versions in the future, the LLVMSharp dependency (which is bound to LLVM 3.9.X) will be removed. It will be replaced by custom LLVM bindings.

Version 0.1.X releases.

Different bug-fix releases based on the main features of the initial ILGPU version. However, version 0.1.4 (which was released in August) will be the last release of this release series. The next release series will be 0.2.X that contains new features.


Initial Public Release v0.1

Initial public release on GitHub and Nuget. This version contains all required JIT compilation features, a full featured CPU runtime and a PTX backend.

June 2017

Development Start

The non-public development start was in 2016. Different developers used and tested ILGPU during the initial development phase. Their feedback and suggestions were taken into account and considerably influenced the development. Special thanks to Christian Hauck and Denis Müller.