diff --git a/pkgs/development/libraries/nvidia-thrust/default.nix b/pkgs/development/libraries/nvidia-thrust/default.nix deleted file mode 100644 index f68b57f193b7..000000000000 --- a/pkgs/development/libraries/nvidia-thrust/default.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ lib -, config -, fetchFromGitHub -, stdenv -, cmake -, pkg-config -, cudaPackages ? { } -, symlinkJoin -, tbb -, hostSystem ? "CPP" -, deviceSystem ? if config.cudaSupport then "CUDA" else "OMP" -}: - -# Policy for device_vector -assert builtins.elem deviceSystem [ - "CPP" # Serial on CPU - "OMP" # Parallel with OpenMP - "TBB" # Parallel with Intel TBB - "CUDA" # Parallel on GPU -]; - -# Policy for host_vector -# Always lives on CPU, but execution can be made parallel -assert builtins.elem hostSystem [ "CPP" "OMP" "TBB" ]; - -let - pname = "nvidia-thrust"; - version = "1.16.0"; - - inherit (cudaPackages) backendStdenv cudaFlags; - cudaCapabilities = map cudaFlags.dropDot cudaFlags.cudaCapabilities; - - tbbSupport = builtins.elem "TBB" [ deviceSystem hostSystem ]; - cudaSupport = deviceSystem == "CUDA"; - - # TODO: Would like to use this: - cudaJoined = symlinkJoin { - name = "cuda-packages-unsplit"; - paths = with cudaPackages; [ - cuda_nvcc - cuda_nvrtc # symbols: cudaLaunchDevice, &c; notice postBuild - cuda_cudart # cuda_runtime.h - libcublas - ]; - postBuild = '' - ln -s $out/lib $out/lib64 - ''; - }; -in -stdenv.mkDerivation { - inherit pname version; - - src = fetchFromGitHub { - owner = "NVIDIA"; - repo = "thrust"; - rev = version; - fetchSubmodules = true; - hash = "sha256-/EyznxWKuHuvHNjq+SQg27IaRbtkjXR2zlo2YgCWmUQ="; - }; - - # NVIDIA's "compiler hacks" seem like work-arounds for legacy toolchains and - # cause us errors such as: - # > Thrust's test harness uses CMAKE_CXX_COMPILER for the CUDA host compiler. - # > Refusing to overwrite specified CMAKE_CUDA_HOST_COMPILER - # So we un-fix cmake after them: - postPatch = '' - echo > cmake/ThrustCompilerHacks.cmake - ''; - - buildInputs = lib.optionals tbbSupport [ tbb ]; - - nativeBuildInputs = [ - cmake - pkg-config - ] ++ lib.optionals cudaSupport [ - # Goes in native build inputs because thrust looks for headers - # in a path relative to nvcc... - cudaJoined - ]; - - cmakeFlags = [ - "-DTHRUST_INCLUDE_CUB_CMAKE=${if cudaSupport then "ON" else "OFF"}" - "-DTHRUST_DEVICE_SYSTEM=${deviceSystem}" - "-DTHRUST_HOST_SYSTEM=${hostSystem}" - "-DTHRUST_AUTO_DETECT_COMPUTE_ARCHS=OFF" - "-DTHRUST_DISABLE_ARCH_BY_DEFAULT=ON" - ] ++ lib.optionals cudaFlags.enableForwardCompat [ - "-DTHRUST_ENABLE_COMPUTE_FUTURE=ON" - ] ++ map (sm: "THRUST_ENABLE_COMPUTE_${sm}") cudaCapabilities; - - passthru = { - inherit cudaSupport cudaPackages cudaJoined; - }; - - meta = with lib; { - description = "A high-level C++ parallel algorithms library that builds on top of CUDA, TBB, OpenMP, etc"; - homepage = "https://github.com/NVIDIA/thrust"; - license = licenses.asl20; - platforms = platforms.unix; - maintainers = with maintainers; [ SomeoneSerge ]; - }; -} diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix index 21e6cbf858cd..25ac539e05f2 100644 --- a/pkgs/development/libraries/science/math/faiss/default.nix +++ b/pkgs/development/libraries/science/math/faiss/default.nix @@ -6,8 +6,6 @@ , cmake , cudaPackages ? { } , cudaSupport ? config.cudaSupport -, nvidia-thrust -, useThrustSourceBuild ? true , pythonSupport ? true , pythonPackages , llvmPackages @@ -27,8 +25,6 @@ , runCommand }@inputs: -assert cudaSupport -> nvidia-thrust.cudaSupport; - let pname = "faiss"; version = "1.7.4"; @@ -44,9 +40,6 @@ let cuda_cudart # cuda_runtime.h libcublas libcurand - ] ++ lib.optionals useThrustSourceBuild [ - nvidia-thrust - ] ++ lib.optionals (!useThrustSourceBuild) [ cuda_cccl ] ++ lib.optionals (cudaPackages ? cuda_profiler_api) [ cuda_profiler_api # cuda_profiler_api.h diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e655c34c7e82..daab3488385d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -644,6 +644,7 @@ mapAliases ({ noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16 noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09 noto-fonts-extra = noto-fonts; # Added 2023-04-08 + nvidia-thrust = throw "nvidia-thrust has been removed because the project was deprecated; use cudaPackages.cuda_cccl"; ### O ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 75e47757a8eb..1e9069ef0ead 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11276,16 +11276,6 @@ with pkgs; nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher; - nvidia-thrust = callPackage ../development/libraries/nvidia-thrust { }; - - nvidia-thrust-intel = callPackage ../development/libraries/nvidia-thrust { - hostSystem = "TBB"; - deviceSystem = if config.cudaSupport then "CUDA" else "TBB"; - }; - - nvidia-thrust-cuda = callPackage ../development/libraries/nvidia-thrust { - deviceSystem = "CUDA"; - }; miller = callPackage ../tools/text/miller { }; @@ -39988,7 +39978,6 @@ with pkgs; faissWithCuda = faiss.override { cudaSupport = true; - nvidia-thrust = nvidia-thrust-cuda; }; fityk = callPackage ../applications/science/misc/fityk { };