2020
Ahead-of-time (AOT) compilation of kernels.
Native X86/X64 & SIMD CPU runtime.
Vulkan support via SPIR backend.
May/June 2020

Release v0.8.2

Enhanced debugging capabilities and error messages.

Enhanced debugging features for full hardware-based debugging of Cuda kernels.
Significantly improved error messages.
April 2020

Release v0.8.1

Performance improvements of generated kernels and support for new Cuda intrinsics.

Performance improvements of generated kernels using if conversion, loop unrolling and FMA operations.
Support for new Cuda intrinsics.
February/March 2020

Release v0.8.0

Support for meta constants aka partial evaluation/specialization of kernels. Support for dynamic shared memory in Cuda kernels.

Enhanced shared-memory support to configure the amount of allocated shared memory dynamically.
Support for dynamic partial evaluation of kernels.
January 2020

Release v0.7.1

Bug fix release which includes additional helper classes to simplify GPU programming and memory transfers.

Bug fixes for critical code-generation issues on multi-threaded platforms.
Helper classes to simplify GPU<->CPU memory transfers.
Enhanced support for Intel and AMD GPUs via OpenCL.
November 2019

Release v0.7.0

Performance improvements and bug fixes. Support for OpenCL-compatible devices (beta). New extension API and improved intrinsics.

Initial support for Intel and AMD GPUs via OpenCL.
Additional low-level intrinsics to use additional GPU hardware functionality.
Additional high-level algorithms to express reduce and scan operations on all ILGPU-compatible devices.
New extension and intrinsic API.
.Net Standard 2.1 (e.g. .Net Core 3.0) support.
July 2019

Release v0.6.0

Initial support for arrays in GPU kernels. Enhanced support for multiple GPUs and improved kernel performance.

Improved performance of Cuda kernels.
Initial support for array types in GPU kernels.
Initial native kernel debugging and profiling on GPU hardware.
Test-framework release to verify generated kernel code.
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.

Release

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.

2016
2016