about summary refs log tree commit diff
path: root/doc/languages-frameworks/cuda.section.md
AgeCommit message (Collapse)AuthorFilesLines
2024-04-23docs/cuda: remove last references to cudaPackages.autoAddDriverRunpathJonathan Ringer1-1/+1
2024-03-28treewide: Fix all Nix ASTs in all markdown filesJanne Heß1-7/+11
This allows for correct highlighting and maybe future automatic formatting. The AST was verified to work with nixfmt only.
2024-03-15cudaPackages: generalize and refactor setup hookYann Hamdaoui1-1/+1
This PR refactor CUDA setup hooks, and in particular autoAddOpenGLRunpath and autoAddCudaCompatRunpathHook, that were using a lot of code in common (in fact, I introduced the latter by copy pasting most of the bash script of the former). This is not satisfying for maintenance, as a recent patch showed, because we need to duplicate changes to both hooks. This commit abstract the common part in a single shell script that applies a generic patch action to every elf file in the output. For autoAddOpenGLRunpath the action is just addOpenGLRunpath (now addDriverRunpath), and is few line function for autoAddCudaCompatRunpathHook. Doing so, we also takes the occasion to use the newer addDriverRunpath instead of the previous addOpenGLRunpath, and rename the CUDA hook to reflect that as well. Co-Authored-By: Connor Baker <connor.baker@tweag.io>
2023-12-07cudaPackages: add docsConnor Baker1-9/+38
2023-08-31cudaPackages: split outputsConnor Baker1-0/+62
This change which involves creating multiple outputs for CUDA redistributable packages. We use a script to find out, ahead of time, the outputs each redist package provides. From that, we are able to create multiple outputs for supported redist packages, allowing users to specify exactly which components they require. Beyond the script which finds outputs ahead of time, there is some custom code involved in making this happen. For example, the way Nixpkgs typically handles multiple outputs involves making `dev` the default output when available, and adding `out` to `dev`'s `propagatedBuildInputs`. Instead, we make each output independent of the others. If a user wants only to include the headers found in a redist package, they can do so by choosing the `dev` output. If they want to include dynamic libraries, they can do so by specifying the `lib` output, or `static` for static libraries. To avoid breakages, we continue to provide the `out` output, which becomes the union of all other outputs, effectively making the split outputs opt-in.
2023-08-14treewide: `overrideScope'` -> `overrideScope`Artturin1-1/+1
`lib.makeScope` `overrideScope'` has been renamed to `overrideScope` `fd --type f | xargs sd --string-mode "overrideScope'" "overrideScope"`
2023-07-20config.cudaSupport: init optionSomeone Serge1-1/+1
2023-07-20doc: update #cuda to reflect the recommended config.cudaSupport styleSomeone Serge1-2/+5
2023-05-24cudaPackages.cudnn: remove patch version from name to conform with ↵Connor Baker1-2/+2
cudaPackages standard
2023-05-10docs: typo in cuda docs, forgot a colon (:)Hraban Luyat1-1/+1
2022-12-17doc: fix typosfigsoda1-1/+1
2022-12-16cudaPackages: add cudaFlags (#205351)Jason Miller1-0/+19
* cudaPackages: add cudaFlags * cudaNames -> cudaMicroarchitectureNames * update documentation, remove config for static library removal * doc link added to flags * fix whitespace in assignment
2022-04-09cudaPackages: overhaul of how we package cuda packagesFrederik Rietdijk1-0/+34
There are many different versions of the `cudatoolkit` and related cuda packages, and it can be tricky to ensure they remain compatible. - `cudaPackages` is now a package set with `cudatoolkit`, `cudnn`, `cutensor`, `nccl`, as well as `cudatoolkit` split into smaller packages ("redist"); - expressions should now use `cudaPackages` as parameter instead of the individual cuda packages; - `makeScope` is now used, so it is possible to use `.overrideScope'` to set e.g. a different `cudnn` version; - `release-cuda.nix` is introduced to easily evaluate cuda packages using hydra.