Skip to content

v1.0.0

Latest

Choose a tag to compare

@cliffburdick cliffburdick released this 04 Mar 19:48
· 7 commits to main since this release
312ff69

v1.0.0

Release 1.0.0 marks a major update for MatX. 1.0.0 is the first version to require C++20 support for both the CUDA and host compilers. As a result, CUDA versions lower than 12.2.1 are not supported.

Among the major release highlights are:

  • JIT Support
    CUDA JIT support via a new CUDAJitExecutor. When used, this executor makes a second pass at the compilation and caches the resulting kernel to be used in the future. JIT allows MatX to convert many runtime parameters into compile-time parameters, thus reducing the computations needed in the kernel. It also optionally enables kernel fusion support of the NVIDIA MathDx libraries. When enabled, MatX can potentially fuse FFT and GEMM operations into other arithmetic expressions if certain criteria are met. Only FFT and BLAS fusion are supported now, but other MathDx libraries will be added in the future. For more information, see the docs.
  • Logging
    Full logging support to stdout or to a file is supported. Logging is useful for seeing which code path MatX is taking, and dumping verbose information about each function. Note that logging requires the header, which is not available in all C++20 compilers.
  • Documentation
    Added tag showing which version of MatX each operator was added in
  • Compile-time Properties
    Specify compile-time properties on an operator for fine-grainer control of operation. For example, change the accumulation type of an operator.

Full Changelog

New Contributors

Full Changelog: v0.9.4...v1.0.0