Skip to content

tiny-cuda-nn: fix a couple of build issues#359664

Merged
ConnorBaker merged 1 commit intoNixOS:masterfrom
al3xtjames:tiny-cuda-nn
Dec 5, 2024
Merged

tiny-cuda-nn: fix a couple of build issues#359664
ConnorBaker merged 1 commit intoNixOS:masterfrom
al3xtjames:tiny-cuda-nn

Conversation

@al3xtjames
Copy link
Copy Markdown
Contributor

The CUDA architecture detection code in tiny-cuda-nn's Torch bindings convert CUDA capabilities to ints, which breaks with 9.0a. Filter 9.0a from the CUDA capabilities passed to TCNN_CUDA_ARCHITECTURES. Also patch the Torch bindings to replace the hardcoded -std=c++14 argument to nvcc with -std=c++17 for CUDA 11+ to fix the build.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

The CUDA architecture detection code in tiny-cuda-nn's Torch bindings
convert CUDA capabilities to `int`s, which breaks with 9.0a. Filter
9.0a from the CUDA capabilities passed to TCNN_CUDA_ARCHITECTURES. Also
patch the Torch bindings to replace the hardcoded `-std=c++14` argument
to nvcc with `-std=c++17` for CUDA 11+ to fix the build.
@ofborg ofborg Bot requested a review from ConnorBaker November 28, 2024 13:59
@ofborg ofborg Bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Nov 28, 2024
@ConnorBaker
Copy link
Copy Markdown
Contributor

Tentatively I’ll say this looks good; I haven’t had a chance to build or test running this yet.
@al3xtjames were you able to build and run samples to verify the program works at runtime?

@ConnorBaker ConnorBaker added the 6.topic: cuda Parallel computing platform and API label Dec 1, 2024
@al3xtjames
Copy link
Copy Markdown
Contributor Author

I was able to run python3 samples/mlp_learning_an_image_pytorch.py after applying the fix in NVlabs/tiny-cuda-nn#463.

@ConnorBaker ConnorBaker self-assigned this Dec 2, 2024
@wegank wegank added 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. 12.approvals: 1 This PR was reviewed and approved by one person. labels Dec 2, 2024
@ConnorBaker ConnorBaker merged commit 833953e into NixOS:master Dec 5, 2024
@al3xtjames al3xtjames deleted the tiny-cuda-nn branch March 14, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cuda Parallel computing platform and API 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants