Release Notes#

This section lists significant changes, new features, performance improvements, and various issues. Unless noted, listed issues should not impact functionality. When functionality is impacted, we offer a work-around to avoid the issue (if available).

0.1.0#

The first early access (EA) release of cuSolverDx library.

New Features#

Known Issues#

  • For CUDA Toolkits older than 12.1 Update 1 when using NVRTC and nvJitLink to perform runtime compilation of kernels that use cuSolverDx it is required to use fatbin file libcusolverdx.fatbin when linking instead of libcusolverdx.a. Path to the fatbin library file is defined in cusolverdx_FATBIN cmake variable.

  • NVCC compiler in CUDA Toolkit from 12.2 to 12.4 reports incorrect compilation error when value_type type of a solver description type is used. The affected code with workarounds are presented below. The issue is fixed in CTK 12.5 and newer.

    using Solver = decltype(Size<32>()
                    + Precision<double>()
                    + Type<type::complex>()
                    + Function<function::potrf>()
                    + SM<800>()
                    + Block());
    using type = typename Solver::value_type; // compilation error
    
    // Workaround #1
    using type = typename decltype(Solver())::value_type;
    
    // Workaround #2 (used in cuSolverDx examples)
    template <typename T>
    using value_type_t = typename T::value_type;
    
    using type = value_type_t<Solver>;