Skip to content

Conversation

@jorge-ortega
Copy link
Collaborator

@jorge-ortega jorge-ortega commented Apr 15, 2025

  • Allow list files instead of types/var/functions.
  • Split out type headers from runtime/cublas to their own crate.

This restructures cust_raw to the following:

src/ ├── cublas_sys/ # Cublas and its extensions │ ├── core.rs │ ├── lt.rs │ ├── mod.rs │ └── xt.rs ├── types/ # Common CUDA Runtime types │ ├── driver.rs │ ├── library.rs │ ├── mod.rs │ ├── surface.rs │ └── texture.rs ├── driver_sys.rs ├── lib.rs ├── nvptx-compiler_sys.rs ├── nvvm_sys.rs ├── runtime_sys.rs 

This is a precursor to adding other CUDA library bindings, like nvJPEG and cudaFFT.

@adamcavendish
Copy link
Contributor

The _sys suffix was originally used because it was a bindgen generated system bindings. I propose that we should align with the community and call them -sys packages.

@jorge-ortega
Copy link
Collaborator Author

The convention tends to only apply to the top-level crate name, not the crates inside of it. The raw in cust_raw kinda conveys what sys is supposed to (there be bindings in here), so if you consider that it comes off a bit redundant:

import cust_raw::driver_sys ^ ^_bindings, dammit! |_bindings 

The important thing is users understand that the crate as a whole only contains bindings before they even add it as a dependency, which should make them gravitate to the higher-level crates.

Still hoping on hearing back from the owner of cuda-sys in #182.

@adamcavendish
Copy link
Contributor

The convention tends to only apply to the top-level crate name, not the crates inside of it. The raw in cust_raw kinda conveys what sys is supposed to (there be bindings in here), so if you consider that it comes off a bit redundant:

import cust_raw::driver_sys ^ ^_bindings, dammit! |_bindings 

The important thing is users understand that the crate as a whole only contains bindings before they even add it as a dependency, which should make them gravitate to the higher-level crates.

Still hoping on hearing back from the owner of cuda-sys in #182.

Yeah, if we do can get the cuda-sys crate, I agree that we can drop the "-sys" suffix.

@LegNeato
Copy link
Contributor

I reached out to them over email.

…cust_raw`'s crates - Allow list files instead of types/var/functions. - Split out type headers from runtime/cublas to their own crates.
@jorge-ortega
Copy link
Collaborator Author

I'm splitting out the module renames from this change and will open a separate PR for that. This should now contain just the restructuring and new type bindings.

Clippy seems to be building the examples and is now failing during LTO. I don't repro this on windows or in ubuntu24 devcontainer.

@jorge-ortega jorge-ortega marked this pull request as ready for review April 22, 2025 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants