Skip to content

Release v1.0.0-beta3

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 03 Aug 06:48
· 659 commits to master since this release

This new beta offers significant performance improvements to the generated kernel programs and includes a lot of amazing new features (get the ILGPU Nuget package and ILGPU Algorithms Nuget package).

Notes

  • We converted ILGPU into a monorepo project including, ILGPU.Algorithms, ILGPU.Samples, Wiki and enhanced Documentation.
  • This version has some breaking changes compared to previous stable ILGPU versions (see also Release v1.0.0-beta1).

Changes

  • Promote .NET 5 to a default target framework (#529, #536).
  • Added new Array processing pipeline to have full support for nD-arrays (#513).
  • Added convenience overloads for AsNDView (#571).
  • Added support for zero-length SubView operations (#550).
  • Added Backend optimizations for CPU backend to re-enable support for enhanced shared memory allocations (see #567) (#574).
  • Added support for Cuda ISA 7.3 and 7.4 to support all latest drivers (#566).
  • Added UCE transformation to the backend optimization passes (#569).
  • Added VS integration of check styles to all projects and fixed style checking (#517, #511).
  • Added CPU builder method to register custom CPU devices (#507).
  • Added support for chaining EnableAlgorithms on Context builder instances (#515).
  • Improved performance of all tests by enabling aggressive caching (#522).
  • Improve hash codes of IndexND and LongIndexND types (#510).
  • Changed InvalidEntryPointIndexParameterOfWrongType error message to be more descriptive (#535).
  • Changed T4 DllImportSearchPath to LegacyBehavior (#514).
  • Fixed constant folding when converting unsigned integers (#549).
  • Fixed critical issue when swapping registers/variables in backends (#541).
  • Fixed invalid copies from and to sub views (#523).
  • Fixed and enhanced Stride and ArrayView types (#509).
  • Fixed regression in single-pass scan when performing multiple iterations (#525).
  • Fixed RadixSortProvider and ScanProvider test cases (#516).
  • Removed obsolete properties and methods (#524).

Repository Changes

  • Merged ILGPU.Smples into ILGPU repository (#538, #561, #563, #564, #565, #568).
  • Merged ILGPU.Algorithms into ILGPU repository.
  • Merged ILGPU Wiki into ILGPU repository (#537).
  • Merged external ILGPU v0.10.1 documents (#546).

CI Changes

  • Add badges for versions and CI (#534).
  • Skip publishing nuget packages on forks (#533).
  • Selective builds on macOS, master and tags (#530).
  • Fix NuGet publishing bug in CI pipeline (#572).
  • Restricting the package CI job to run only once (#527).
  • Run clean tests on push to master or tag without using caches (#526).
  • Added support for releasing pre-view builds via feedz.io (#521, #520).

Major internal changes

  • Adapted CI for new ILGPU monorepo (#512).
  • Added missing struct type constraints (#532).
  • Applied general cleanup (#531).

Special thanks

Special thanks to @MoFtZ, @Joey9801, @jgiannuzzi ,@NullandKale, @76creates, @Nnelg, @ljubon 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.