-
Notifications
You must be signed in to change notification settings - Fork 216
Rearrange examples and disable Optix crates #313
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
344cd6f to
ee47bee
Compare
Currently the top-level `Cargo.toml` lists members both explicitly (direct naming) and implicitly (using globs). The latter is annoying, and makes it hard to tell what the actual packages in the workspace are, particularly with the complex `cargo --workspace --exclude` invocations in CI. This commit makes all the member explicit and puts them in alphabetical order.
For consistency with the examples in `examples/` and `samples/`, which all put their kernel code in `kernels/`.
For consistency with the examples in `examples/` and `samples/`, which all put their kernel code in `kernels/`.
Alongside all the other OptiX examples.
Now that the `examples/optix/` directory is gone, the `cuda/` subdirectory isn't needed.
Because it uses OptiX.
ee47bee to
83c9dc6
Compare
Collaborator
Author
|
I rebased for the addition of the |
83c9dc6 to
8248317
Compare
Because they don't work without OptiX, which is less important than CUDA and a pain to install. This means we don't have to manually exclude all these crates in CI, which is nice -- e.g. a vanilla `cargo build` works. Also, on Linux CI we don't need `--exclude "cudnn*"`. (We still need it on Windows CI.)
8248317 to
db8cd84
Compare
LegNeato
approved these changes
Nov 27, 2025
nnethercote
added a commit
to nnethercote/Rust-CUDA
that referenced
this pull request
Dec 3, 2025
In Rust-GPU#313 I disabled all the code relying on OptiX. I subsequently learned that the path-tracer's use of OptiX is optional. This commit re-enables it, and makes the optionality (via features) more strict so it works on systems without OptiX. Note: If you were rewriting this from scratch you'd probably group together the OptiX-dependent code pieces more nicely, but I just scattered `#[cfg(feature = "optix")]` attributes around to keep the modifications as small as possible.
nnethercote
added a commit
to nnethercote/Rust-CUDA
that referenced
this pull request
Dec 3, 2025
In Rust-GPU#313 I disabled all the code relying on OptiX. I subsequently learned that `path-tracer`'s use of OptiX is optional. `path-tracer` is a big and good example, so this commit re-enables it, but with the OptiX-specific bits commented out. (Commenting out code is crude, but I had trouble with features, as detailed within the commit. This is better than nothing.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Having to manually exclude the OptiX crates is a pain. Let's just comment them out in the top-level
Cargo.toml.And before doing that, let's rearrange that top-level
Cargo.tomland the examples to make things much clearer, e.g. putting all the OptiX-dependent examples in the same directory.