CUDA: Difference between revisions
Improve cuda team github links |
add instructions using nix flake to set up CUDA development environment |
||
Line 80: | Line 80: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
* By making a flake.nix<syntaxhighlight lang="nix" line="1" start="1"> | |||
# flake.nix, run with `nix develop` | |||
{ | |||
description = "CUDA development environment"; | |||
outputs = { | |||
self, | |||
nixpkgs, | |||
}: let | |||
system = "x86_64-linux"; | |||
pkgs = import nixpkgs { | |||
inherit system; | |||
config.allowUnfree = true; | |||
config.cudaSupport = true; | |||
config.cudaVersion = "12"; | |||
}; | |||
in { | |||
# alejandra is a nix formatter with a beautiful output | |||
formatter."${system}" = nixpkgs.legacyPackages.${system}.alejandra; | |||
devShells.${system}.default = pkgs.mkShell { | |||
buildInputs = with pkgs; [ | |||
ffmpeg | |||
fmt.dev | |||
cudaPackages.cuda_cudart | |||
cudatoolkit | |||
linuxPackages.nvidia_x11 | |||
cudaPackages.cudnn | |||
libGLU | |||
libGL | |||
xorg.libXi | |||
xorg.libXmu | |||
freeglut | |||
xorg.libXext | |||
xorg.libX11 | |||
xorg.libXv | |||
xorg.libXrandr | |||
zlib | |||
ncurses5 | |||
stdenv.cc | |||
binutils | |||
uv | |||
]; | |||
shellHook = '' | |||
export LD_LIBRARY_PATH="${pkgs.linuxPackages.nvidia_x11}/lib:$LD_LIBRARY_PATH" | |||
export CUDA_PATH=${pkgs.cudatoolkit} | |||
export EXTRA_LDFLAGS="-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib" | |||
export EXTRA_CCFLAGS="-I/usr/include" | |||
export CMAKE_PREFIX_PATH="${pkgs.fmt.dev}:$CMAKE_PREFIX_PATH" | |||
export PKG_CONFIG_PATH="${pkgs.fmt.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" | |||
''; | |||
}; | |||
}; | |||
} | |||
</syntaxhighlight> | |||
== Setting up CUDA Binary Cache == | == Setting up CUDA Binary Cache == |