-
-
Notifications
You must be signed in to change notification settings - Fork 13.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix pytorchWithCuda
, fix cupy
, upgrade cudnn
#166784
Changes from all commits
11d9ef1
e1b9a52
9d9138c
3db04d2
089dafd
147606d
03dd3f6
2133acc
e51d84a
2a0acdb
1ef351f
a60ab2a
8b9bbbc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ | |
, addOpenGLRunpath | ||
|
||
, version | ||
, sha256 | ||
, hash | ||
}: | ||
|
||
let | ||
|
@@ -21,7 +21,7 @@ stdenv.mkDerivation { | |
|
||
src = fetchurl { | ||
url = "https://developer.download.nvidia.com/compute/cutensor/${mostOfVersion}/local_installers/libcutensor-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}-${version}.tar.gz"; | ||
inherit sha256; | ||
inherit hash; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Iiuc hash is preferred to sha256 as it is more future proof, but I don't remember the reference for that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. # fetchurl/default.nix
, # SRI hash.
hash ? ""
, # Legacy ways of specifying the hash.
outputHash ? ""
, outputHashAlgo ? ""
, md5 ? ""
, sha1 ? ""
, sha256 ? ""
, sha512 ? "" Hmm, I guess There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yep, we are switching everywhere (though slowly) to SRI hashes. |
||
}; | ||
|
||
outputs = [ "out" "dev" ]; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,6 +38,10 @@ stdenv.mkDerivation rec { | |
|
||
enableParallelBuilding = true; | ||
|
||
passthru = { | ||
inherit cudatoolkit; | ||
}; | ||
Comment on lines
+41
to
+43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is necessary for the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍🏻 |
||
|
||
meta = with lib; { | ||
description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs"; | ||
homepage = "https://developer.nvidia.com/nccl"; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,6 +5,10 @@ | |
, addOpenGLRunpath | ||
}: | ||
|
||
assert cudnn.cudatoolkit == cudatoolkit; | ||
assert cutensor.cudatoolkit == cudatoolkit; | ||
assert nccl.cudatoolkit == cudatoolkit; | ||
Comment on lines
+8
to
+10
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It was discovered here that cupy was accidentally pulling in multiple cudatoolkit versions. These asserts should prevent that issue going forward. |
||
|
||
buildPythonPackage rec { | ||
pname = "cupy"; | ||
version = "10.2.0"; | ||
|
@@ -15,8 +19,15 @@ buildPythonPackage rec { | |
sha256 = "sha256-5ovvA76QGOsOnVztMfDgLerks5nJrKR08rLc+ArmWA8="; | ||
}; | ||
|
||
# See https://docs.cupy.dev/en/v10.2.0/reference/environment.html. Seting both | ||
# CUPY_NUM_BUILD_JOBS and CUPY_NUM_NVCC_THREADS to NIX_BUILD_CORES results in | ||
# a small amount of thrashing but it turns out there are a large number of | ||
# very short builds and a few extremely long ones, so setting both ends up | ||
# working nicely in practice. | ||
preConfigure = '' | ||
export CUDA_PATH=${cudatoolkit} | ||
export CUPY_NUM_BUILD_JOBS="$NIX_BUILD_CORES" | ||
export CUPY_NUM_NVCC_THREADS="$NIX_BUILD_CORES" | ||
''; | ||
|
||
nativeBuildInputs = [ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change is purely a matter of formatting.