summaryrefslogtreecommitdiff
path: root/pkgs/development/cuda-modules/packages/libcusolver.nix
blob: 0ff5e26d7d52a3902f1b4ddcae71d0a46a406e68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
  buildRedist,
  cudaAtLeast,
  lib,
  libcublas,
  libcusparse,
  libnvjitlink,
}:
buildRedist {
  redistName = "cuda";
  pname = "libcusolver";

  outputs = [
    "out"
    "dev"
    "include"
    "lib"
    "static"
    "stubs"
  ];

  buildInputs =
    # Always depends on this
    [ (lib.getLib libcublas) ]
    # Dependency from 12.0 and on
    ++ lib.optionals (cudaAtLeast "12.0") [ libnvjitlink ]
    # Dependency from 12.1 and on
    ++ lib.optionals (cudaAtLeast "12.1") [ (lib.getLib libcusparse) ];

  meta = {
    description = "Collection of dense and sparse direct linear solvers and Eigen solvers";
    longDescription = ''
      The NVIDIA cuSOLVER library provides a collection of dense and sparse direct linear solvers and Eigen solvers
      which deliver significant acceleration for Computer Vision, CFD, Computational Chemistry, and Linear
      Optimization applications.
    '';
    homepage = "https://developer.nvidia.com/cusolver";
  };
}