ILGPU Versions Save

ILGPU JIT Compiler for high-performance .Net GPU programs

v1.5.1

7 months ago

This new stable release includes bug fixes and internal improvements (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Modified OpenCL generator to forward declare all variables (#1088).
  • Fixed IfConversion transformation and fixed a related issue in the code generation backends (#1092).

Internal Changes

  • Refined PTX argument mapping and analyses (#1090).
  • Updated PhiBindings analysis (#1091).

CI Changes

  • Clean up the way matrix.os is setup and matched (#1093).
  • Create "All required checks succeeded" check run (#1094).

Special thanks to @MoFtZ, @pavlovic-ivan, and @jgiannuzzi for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community for providing feedback, submitting issues and feature requests.

Full Changelog: https://github.com/m4rs-mt/ILGPU/compare/v1.5.0...v1.5.1

v1.5.0

7 months ago

This new stable release includes bug fixes, new utility vector types, a newly introduced meta-optimization targeted optimization API, and specific sparse-matrix extensions (get the ILGPU Nuget package and ILGPU Algorithms Nuget package). Furthermore ILGPU now supports nullable annotations on all internal and external APIs.

Changes

  • Added support for index reconstructions using general strides (#989).
  • Added new Vector data types for .NET 7 (#1023).
  • Added new generic optimization API (#1028).
  • Added new Particle-Swarm Optimizer to support massively parallel solving of optimization problems (#1029).
  • Added new specialized sparse-matrix extensions (#924).
  • Added sample to demonstrate newly added sparse matrix extension APIs (#1044).
  • Added sample to demonstrate newly optimization extension APIs (#1043).
  • Extended RNG functionality (#1022).
  • Fixed generic static abstract methods (#1027).
  • Fixed throwing exceptions for not supported debug symbol architecture packages (#1045).
  • Fixed internal compiler errors being thrown by performing integer operations on bool types within the CLR (#1050).
  • Enabled nullable annotations for all internal and external ILGPU APIs (#953).
  • Adapted Cuda versions to support latest architectures (#1024).
  • Improved AlgorithmsMath sample readability (#1005, #1032).

CI

  • Removed GitHubActionsTestLogger dependency (#999).
  • Bump actions/setup-dotnet from 3.0.3 to 3.2.0 (#1007, #1009).
  • Bump runners version to v2.305.0 (#994, #1017).
  • Remove runners config and workflow (#1019).
  • Bump actions/upload-pages-artifact from 1 to 2 (#1031).

Internal Changes

  • Adjusted project language versions to 11 (#1021).
  • Updated GenerateCompatibilitySuppressionFiles script to support Unix (#1003).
  • Bump GitHubActionsTestLogger from 2.0.1 to 2.2.1 in /Src (#1002).
  • Bump requests from 2.28.1 to 2.31.0 in /Site/scripts (#1006).
  • Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.7.1 in /Src (#998, #1010, #1011, #1020, #1039, #1048).
  • Bump System.Reflection.Metadata from 7.0.1 to 7.0.2 in /Src and /Samples (#1014, #1015).
  • [Bump commonmarker from 0.23.9 to 0.23.10 in /Site. (#1041).
  • Bump xunit from 2.4.2 to 2.5.0 in /Src (#1026).
  • Updated version to v1.5.0-beta1 and v1.5.0-stable (#1004, #1052).

Special thanks

Special thanks to @gartenkralle, @MoFtZ, @pavlovic-ivan, and @TriceHelix for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale, @MPSQUARK, and @Yey007) for providing feedback, submitting issues and feature requests.

v1.5.0-beta1

8 months ago

This new beta release includes bug fixes, new utility vector types, a newly introduced meta-optimization targeted optimization API, and specific sparse-matrix extensions (get the ILGPU Nuget package and ILGPU Algorithms Nuget package). Furthermore ILGPU now supports nullable annotations on all internal and external APIs.

Changes

  • Added support for index reconstructions using general strides (#989).
  • Added new Vector data types for .NET 7 (#1023).
  • Added new generic optimization API (#1028).
  • Added new Particle-Swarm Optimizer to support massively parallel solving of optimization problems (#1029).
  • Added new specialized sparse-matrix extensions (#924).
  • Extended RNG functionality (#1022).
  • Fixed generic static abstract methods (#1027).
  • Enabled nullable annotations for all internal and external ILGPU APIs (#953).
  • Adapted Cuda versions to support latest architectures (#1024).
  • Improved AlgorithmsMath sample readability (#1005, #1032).

CI

  • Removed GitHubActionsTestLogger dependency (#999).
  • Bump actions/setup-dotnet from 3.0.3 to 3.2.0 (#1007, #1009).
  • Bump runners version to v2.305.0 (#994, #1017).
  • Remove runners config and workflow (#1019).
  • Bump actions/upload-pages-artifact from 1 to 2 (#1031).

Internal Changes

  • Adjusted project language versions to 11 (#1021).
  • Updated GenerateCompatibilitySuppressionFiles script to support Unix (#1003).
  • Bump GitHubActionsTestLogger from 2.0.1 to 2.2.1 in /Src (#1002).
  • Bump requests from 2.28.1 to 2.31.0 in /Site/scripts (#1006).
  • Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.3 in /Src (#998, #1010, #1011, #1020).
  • Bump System.Reflection.Metadata from 7.0.1 to 7.0.2 in /Src and /Samples (#1014, #1015).
  • Bump xunit from 2.4.2 to 2.5.0 in /Src (#1026).
  • Updated version to v1.5.0-beta1 (#1004).

Special thanks

Special thanks to @gartenkralle, @MoFtZ, @pavlovic-ivan, and @TriceHelix for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale, @MPSQUARK, and @Yey007) for providing feedback, submitting issues and feature requests.

v1.4.0

11 months ago

This new stable release includes bug fixes and compatibility for .Net 7.0 [in terms of abstract interface operators and generic math operations] (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Added support for .NET 7 (#894).
  • Added support for Generic Math using .NET 7 SDK (#898).
  • Added support for static abstract interface members (#930).
  • Added Cuda ISA 8.0 (#909).
  • Added checks to ensure kernel parameters are blittable types (#966).
  • Added P/Invoke source generation with LibraryImport (#946).
  • Added support for LibDevice using Cuda Release v12 (#975).
  • Added override capabilities for Cuda device instruction set (#931).
  • Added tool to fetch Cuda release history from Nvidia website (#926).
  • Adapted Cuda update tool for website design changes (#958).
  • Removed obsolete code in RuntimeSystem (#951).
  • Updated Cuda Library API versions (#974, #981).
  • Fixed compilation warnings from updated .NET 7 SDK (#902).
  • Fixed reinterpret cast of Half on OpenCL (#954).
  • Fixed failing unit tests when run in DEBUG configuration (#955).
  • Fixed failing unit tests by adding generic constraints on .NET 7.0.3 SDK (#933).

Samples

  • Added MemoryBufferStrides sample project (#949).
  • Fixed comments in PinnedMemoryCopy sample (#950).
  • Added sample project for Static Abstract Interface Members (#970).
  • Updated workaround in CuFFT sample project (#972).

Website

  • Fixed broken links in documentation and nuspec (#956).
  • Fixed layout of Features Comparison table on mobile devices (#939).
  • Replaced obsolete VB.NET reference with F# (#973).
  • Build website on pull requests (#937).
  • Sort milestones by name on website (#938).
  • Removed broken link to obsolete Roadmap on website (#941).
  • Ignore Docs/Sites when performing code builds (#936).
  • Updated dependabot to monitor website dependencies (#934).

CI/DevOps

  • Updated to conditional nuget packages (#897).
  • Updated copyright tool to remove dependency on Ubuntu-18.04 (#908).
  • Fixed setup of CI matrix (#967).
  • Fixed status checks on protected branches (#962).
  • Fixed CodeQL scanning 'Error' alerts (#817).
  • Fixed CI copyright pipeline failing on .NET 7 SDK (#896).
  • Fixed regression in CI skipping MacOS builds (#944).
  • Fixed building website when workflow changes (#945).

Internal changes

  • Applied generic struct constraint on ILGPU internals (#935).
  • Added editor guidelines to T4 templates (#928).
  • Allow manually triggering workflows (#940).
  • Bump Cuda versions (#964).
  • Bump FluentAssertions from 6.8.0 to 6.10.0 (#915, #927)
  • Bump Microsoft.NET.Test.Sdk from 17.3.2 to 17.5.0 (#886, #904, #948).
  • Bump System.Collections.Immutable from 6.0.0 to 7.0.0 (#884).
  • Bump System.Reflection.Metadata from 6.0.1 to 7.0.1 (#885, #968).
  • Bump actions/configure-pages from 2 to 3 (#916).
  • Bump activesupport from 6.0.5.1 to 6.0.6.1 (#920).
  • Bump commonmarker from 0.23.6 to 0.23.7 (#918).
  • Bump github-pages from 227 to 228 in (#942).
  • Bump nokogiri from 1.13.9 to 1.14.3 (#899, #986).
  • Bump runners version to v2.302.1 (#910, #917, #973, #947).
  • Bump webrick from 1.7.0 to 1.8.1 (#943).
  • Bump commonmarker from 0.23.8 to 0.23.9 in /Site (#985).
  • Bump actions/deploy-pages from 1 to 2 by (#978).

Special thanks

Special thanks to @lostmsu, @MoFtZ, and @pavlovic-ivan for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale, @MPSQUARK, and @Yey007 for providing feedback, submitting issues and feature requests.

v1.4.0-rc2

11 months ago

This new release candidate includes bug fixes and compatibility for .Net 7.0 [in terms of abstract interface operators and generic math operations] (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Updated Cuda Library API versions for Linux (#981).

Internal changes

  • Bump nokogiri from 1.14.2 to 1.14.3 in /Site (#986).
  • Bump commonmarker from 0.23.8 to 0.23.9 in /Site (#985).
  • Bump actions/deploy-pages from 1 to 2 by (#978).

Special thanks

Special thanks to @MoFtZ for his contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community for providing feedback, submitting issues and feature requests.

v1.4.0-rc1

1 year ago

This new release candidate includes bug fixes and compatibility for .Net 7.0 [in terms of abstract interface operators and generic math operations] (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Added support for .NET 7 (#894).
  • Added support for Generic Math using .NET 7 SDK (#898).
  • Added support for static abstract interface members (#930).
  • Added Cuda ISA 8.0 (#909).
  • Added checks to ensure kernel parameters are blittable types (#966).
  • Added P/Invoke source generation with LibraryImport (#946).
  • Added support for LibDevice using Cuda Release v12 (#975).
  • Added override capabilities for Cuda device instruction set (#931).
  • Added tool to fetch Cuda release history from Nvidia website (#926).
  • Adapted Cuda update tool for website design changes (#958).
  • Removed obsolete code in RuntimeSystem (#951).
  • Updated Cuda Library API versions (#974).
  • Fixed compilation warnings from updated .NET 7 SDK (#902).
  • Fixed reinterpret cast of Half on OpenCL (#954).
  • Fixed failing unit tests when run in DEBUG configuration (#955).
  • Fixed failing unit tests by adding generic constraints on .NET 7.0.3 SDK (#933).

Samples

  • Added MemoryBufferStrides sample project (#949).
  • Fixed comments in PinnedMemoryCopy sample (#950).
  • Added sample project for Static Abstract Interface Members (#970).
  • Updated workaround in CuFFT sample project (#972).

Website

  • Fixed broken links in documentation and nuspec (#956).
  • Fixed layout of Features Comparison table on mobile devices (#939).
  • Replaced obsolete VB.NET reference with F# (#973).
  • Build website on pull requests (#937).
  • Sort milestones by name on website (#938).
  • Removed broken link to obsolete Roadmap on website (#941).
  • Ignore Docs/Sites when performing code builds (#936).
  • Updated dependabot to monitor website dependencies (#934).

CI/DevOps

  • Updated to conditional nuget packages (#897).
  • Updated copyright tool to remove dependency on Ubuntu-18.04 (#908).
  • Fixed setup of CI matrix (#967).
  • Fixed status checks on protected branches (#962).
  • Fixed CodeQL scanning 'Error' alerts (#817).
  • Fixed CI copyright pipeline failing on .NET 7 SDK (#896).
  • Fixed regression in CI skipping MacOS builds (#944).
  • Fixed building website when workflow changes (#945).

Internal changes

  • Applied generic struct constraint on ILGPU internals (#935).
  • Added editor guidelines to T4 templates (#928).
  • Allow manually triggering workflows (#940).
  • Bump Cuda versions (#964).
  • Bump FluentAssertions from 6.8.0 to 6.10.0 (#915, #927)
  • Bump Microsoft.NET.Test.Sdk from 17.3.2 to 17.5.0 (#886, #904, #948).
  • Bump System.Collections.Immutable from 6.0.0 to 7.0.0 (#884).
  • Bump System.Reflection.Metadata from 6.0.1 to 7.0.1 (#885, #968).
  • Bump actions/configure-pages from 2 to 3 (#916).
  • Bump activesupport from 6.0.5.1 to 6.0.6.1 (#920).
  • Bump commonmarker from 0.23.6 to 0.23.7 (#918).
  • Bump github-pages from 227 to 228 in (#942).
  • Bump nokogiri from 1.13.9 to 1.13.10 (#899).
  • Bump runners version to v2.302.1 (#910, #917, #973, #947).
  • Bump webrick from 1.7.0 to 1.8.1 (#943).

Special thanks

Special thanks to @lostmsu, @MoFtZ, and @pavlovic-ivan for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale, @MPSQUARK, and @Yey007 for providing feedback, submitting issues and feature requests.

v1.3.1

1 year ago

This new stable release includes important bug fixes (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Fixed regression in equality comparison of Index types (#906).

Special thanks

Special thanks to @MoFtZ for his contribution to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community for providing feedback, submitting issues and feature requests.

v1.3.0

1 year ago

This new stable release includes bug fixes, performance improvements and compatibility for Arm and Arm64 platforms (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Added support for Arm and Arm64 architectures (#816).
  • Added intrinsic mappings for BitOperations functions (#824).
  • Clarified documentation for .IOOperations() (#818).
  • Fixed issue promoting unsigned values on the evaluation stack (#822).
  • Fixed critical issue in CPUAccelerator runtime (#836).
  • Simplified IL Warp and Group extensions (#838).
  • Restored CudaMemoryBuffer MemSet and CopyTo semantics from 1.0 (#868).
  • Fixed issue with emitting constructor name in OpenCL (#858).
  • Features for allocating 2D/3D in shared memory (#843).
  • Fixed inlining of blocks with more than two successors (#869).
  • Fixed retrieving kernel object from launchers with implicit stream (#865).
  • Added Cuda ISA 7.7, ISA 7.8 and SM 8.9, SM 9.0 (#881).
  • Exposed CapabilityContext constructors (#889).
  • Added support for WASM compilation in the backend (#890).

New GH-Pages Website and Documentation Improvements

  • Published refined ILGPU website via GH-Pages (#848, #849, #850, #876).
  • Fix formatting issues on code samples in docs (#851).
  • Fix small wiki errors (#861).
  • Bump nokogiri from 1.13.7 to 1.13.9 (#872).
  • Bump tzinfo from 1.2.9 to 1.2.10 (#873).
  • Bump commonmarker from 0.23.5 to 0.23.6 in /Site (#874).
  • Bump actions/setup-python from 2 to 4 (#875).
  • Bump nokogiri from 1.13.7 to 1.13.9 in /Site (#877).

Internal changes

  • Bump GitHubActionsTestLogger from 1.4.1 to 2.0.0 in /Src (#813).
  • Bump GitHubActionsTestLogger from 2.0.0 to 2.0.1 in /Src (#815).
  • Bump FluentAssertions from 6.7.0 to 6.8.0 (#870).
  • Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.1 in /Src (#832, #839).
  • Bump Microsoft.NET.Test.Sdk from 17.3.1 to 17.3.2 in /Src (#852).
  • Bump Microsoft.NETFramework.ReferenceAssemblies in /Samples (#835).
  • Bump dotnet-setup version to 3.0.3. Configure DOTNET_INSTALL_DIR (#878).
  • Bump xunit from 2.4.1 to 2.4.2 in /Src (#830).
  • Added script to generate compatibility suppression files (#821).
  • Add Octo Nudge workflow and Github action (#864).
  • Fixed CodeQL scanning 'Error' alerts (#817).
  • Skip build notifications on forks (#871).
  • Significantly improved and fixed CI pipeline related to our GPU runners (#823, #827, #829, #833, #837, #845, #853, #879).
  • Update runners config with new AMI (#859).
  • Updated CI pipeline to use Github Environment Files (#866).

Special thanks

Special thanks to @GinkoBalboa, @KosmosisDire, @MoFtZ, @NullandKale, @TortillaZHawaii, @TriceHelix, @jgiannuzzi, @naskio, and @pavlovic-ivan for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale, @MPSQUARK, and @Yey007) for providing feedback, submitting issues and feature requests.

Last but not least, we would like to thank our first-time contributors: @GinkoBalboa, @TortillaZHawaii, @TriceHelix, @naskio 🎉

Full Changelog: https://github.com/m4rs-mt/ILGPU/compare/v1.2.0...v1.3.0

v1.3.0-beta1

1 year ago

This new beta release includes bug fixes and compatibility for Arm and Arm64 platforms (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Added support for Arm and Arm64 architectures (#816).
  • Added intrinsic mappings for BitOperations functions (#824).
  • Clarified documentation for .IOOperations() (#818).
  • Fixed issue promoting unsigned values on the evaluation stack (#822).
  • Fixed critical issue in CPUAccelerator runtime (#836).
  • Simplified IL Warp and Group extensions (#838).

Internal changes

  • Bump GitHubActionsTestLogger from 1.4.1 to 2.0.0 in /Src (#813).
  • Bump GitHubActionsTestLogger from 2.0.0 to 2.0.1 in /Src (#815).
  • Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.1 in /Src (#832, #839).
  • Bump Microsoft.NETFramework.ReferenceAssemblies in /Samples (#835).
  • Bump xunit from 2.4.1 to 2.4.2 in /Src (#830).
  • Added script to generate compatibility suppression files (#821).
  • Fixed CodeQL scanning 'Error' alerts (#817).
  • Significantly improved and fixed CI pipeline related to our GPU runners (#823, #827, #829, #833, #837).

Special thanks

Special thanks to @jgiannuzzi, @KosmosisDire, @MoFtZ, @NullandKale, and @pavlovic-ivan for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @kilngod, @NullandKale and @Yey007) for providing feedback, submitting issues and feature requests.

v1.2.0

1 year ago

This new release includes bug fixes and a significantly improved O2 optimization pipeline (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Changes

  • Reviewed ILGPU documentation (#750, #776).
  • Added Cuda ISA 7.5, ISA 7.6 and SM 8.7 (#778).
  • Added support to fold Shuffle and Broadcast operations (#764).
  • Added new sample demonstrating the use of ILGPU in Blazor Apps (#779).
  • Improved performance by using uniform branches for NVIDIA GPUs (#765).
  • Improved LoopUnrolling to cover more cases (#766).
  • Improved inline PTX to support multiple output and by-ref parameters (#760).
  • Fixed multi-dimensional RNG number generation (#808).
  • Fixed issues with LibDevice integration (#784).
  • Fixed issue with unsigned nested conversions (#772, #774).
  • Fixed sample project target frameworks (#771).

Internal changes

  • Bump FluentAssertions from 6.5.1 to 6.7.0 in /Src (#785, #807).
  • Bump Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0 in /Src (#805).
  • Bump xunit.runner.visualstudio from 2.4.3 to 2.4.5 in /Src (#804).
  • Bump System.Memory from 4.5.4 to 4.5.5 in /Src (#785).
  • Reset baseline for 1.2.0 (#777).
  • Fixed several CI issues (#796, #809, #812).

Special thanks

Special thanks to @hokb, @jgiannuzzi, @kilngod, @MoFtZ, @pavlovic-ivan and @Ruberik for their contributions to this release in form of code, feedback, ideas and proposals. Furthermore, we would like to thank the entire ILGPU community (especially @Joey9801, @MPSQUARK, @NullandKale and @Yey007) for providing feedback, submitting issues and feature requests.