Skip to content

Commit d00cf26

Browse files
authored
Updated crates to use new versions of Dependencies (#146)
* Dependencies updated and toolchain updated to a modern version of rust nightly. Had to update the vek, sysinfo, and rayon crates, since they wer pulling in code from dependencies that has long since been broken. rustc codegen nvvm is still broken, seems to have a number of issues. Once I got Optix installed and setup, I started having trouble with llvm. The build file seems to need llvm-config, which does not ship with precompiled binaries for llvm. I compiled llvm from source, but am still unable to get the build file to find that correctly. There are also a number of regular errors which will need to resolved slowly. * Dependencies for all crates should be updated to the latest available versions. Going to tackle any breaking changes next * Two bit flag fields in cust/texture.rs did not implement traits required by the structs they were contained in. This has been resolved * I both of these files, the field access was replaced with a getter method, which was previously throwing an error * ArrayObjectFlags needed Debug and PartialEq traits to be derived, was throwing an error before * updating another file * removed once_cell as dependency from rustc_codegen_nvvm. The goal was to replace with the standardized version from the std library, but the dependency does not seem to be in use anyway
1 parent be0d1fb commit d00cf26

File tree

27 files changed

+73
-70
lines changed

27 files changed

+73
-70
lines changed

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
[workspace]
2+
3+
resolver = "2"
4+
25
members = [
36
"crates/*",
47
"crates/optix/examples/ex*",

crates/blastoff/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ authors = ["Riccardo D'Ambrosio <rdambrosio016@gmail.com>"]
66
repository = "https://github.com/Rust-GPU/Rust-CUDA"
77

88
[dependencies]
9-
bitflags = "1.3.2"
9+
bitflags = "2.8"
1010
cublas_sys = { version = "0.1", path = "../cublas_sys" }
1111
cust = { version = "0.3", path = "../cust", features = ["impl_num_complex"] }
12-
num-complex = "0.4.0"
13-
half = { version = "1.8.0", optional = true }
12+
num-complex = "0.4.6"
13+
half = { version = "2.4.1", optional = true }
1414

1515
[package.metadata.docs.rs]
1616
rustdoc-args = ["--html-in-header", "katex-header.html", "--cfg", "docsrs"]

crates/cuda_builder/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ readme = "../../README.md"
1111
[dependencies]
1212
rustc_codegen_nvvm = { version = "0.3", path = "../rustc_codegen_nvvm" }
1313
nvvm = { path = "../nvvm", version = "0.1" }
14-
serde = { version = "1.0.130", features = ["derive"] }
15-
serde_json = "1.0.68"
14+
serde = { version = "1.0.217", features = ["derive"] }
15+
serde_json = "1.0.138"
1616
find_cuda_helper = { version = "0.2", path = "../find_cuda_helper" }

crates/cuda_std/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ repository = "https://github.com/Rust-GPU/Rust-CUDA"
88
readme = "../../README.md"
99

1010
[dependencies]
11-
vek = { version = "0.15.1", default-features = false, features = ["libm"] }
11+
vek = { version = "0.17.1", default-features = false, features = ["libm"] }
1212
cuda_std_macros = { version = "0.2", path = "../cuda_std_macros" }
13-
half = "1.7.1"
14-
bitflags = "1.3.2"
15-
paste = "1.0.5"
13+
half = "2.4.1"
14+
bitflags = "2.8"
15+
paste = "1.0.15"

crates/cuda_std_macros/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ readme = "../../README.md"
1111
proc-macro = true
1212

1313
[dependencies]
14-
quote = "1.0.9"
15-
syn = { version = "1.0.75", features = ["full"] }
16-
proc-macro2 = "1"
14+
quote = "1.0.38"
15+
syn = { version = "2.0.96", features = ["full"] }
16+
proc-macro2 = "1.0.93"

crates/cuda_std_macros/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ pub fn gpu_only(_attr: proc_macro::TokenStream, item: proc_macro::TokenStream) -
156156

157157
let mut cloned_attrs = attrs.clone();
158158
cloned_attrs.retain(|a| {
159-
!a.path
159+
!a.path()
160160
.get_ident()
161161
.map(|x| *x == "nvvm_internal")
162162
.unwrap_or_default()
@@ -199,7 +199,7 @@ pub fn externally_visible(
199199
let mut func = syn::parse_macro_input!(item as syn::ItemFn);
200200

201201
assert!(
202-
func.attrs.iter().any(|a| a.path.is_ident("no_mangle")),
202+
func.attrs.iter().any(|a| a.path().is_ident("no_mangle")),
203203
"#[externally_visible] function should also be #[no_mangle]"
204204
);
205205

crates/cudnn/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ name = "cudnn"
55
version = "0.1.0"
66

77
[dependencies]
8-
bitflags = "1.3.2"
8+
bitflags = "2.8"
99
cust = {version = "0.3.2", path = "../cust"}

crates/cust/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ readme = "../../README.md"
1515
[dependencies]
1616
cust_core = { path = "../cust_core", version = "0.1.0"}
1717
cust_raw = { path = "../cust_raw", version = "0.11.2"}
18-
bitflags = "1.2"
18+
bitflags = "2.8"
1919
cust_derive = { path = "../cust_derive", version = "0.2" }
20-
glam = { version = "0.20", features=["cuda"], optional = true }
20+
glam = { version = "0.29.2", features=["cuda"], optional = true }
2121
mint = { version = "^0.5", optional = true }
22-
num-complex = { version = "0.4", optional = true }
23-
vek = { version = "0.15.1", optional = true, default-features = false }
24-
bytemuck = { version = "1.7.3", optional = true }
22+
num-complex = { version = "0.4.6", optional = true }
23+
vek = { version = "0.17.1", optional = true, default-features = false }
24+
bytemuck = { version = "1.21", optional = true }
2525

2626
[features]
2727
default= ["bytemuck", "impl_glam", "impl_mint", "impl_vek"]

crates/cust/src/graph.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ impl Graph {
320320
let mut raw = MaybeUninit::uninit();
321321

322322
unsafe {
323-
cuda::cuGraphCreate(raw.as_mut_ptr(), flags.bits).to_result()?;
323+
cuda::cuGraphCreate(raw.as_mut_ptr(), flags.bits()).to_result()?;
324324

325325
Ok(Self {
326326
raw: raw.assume_init(),

crates/cust/src/memory/array.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl ArrayFormat {
155155

156156
bitflags::bitflags! {
157157
/// Flags which modify the behavior of CUDA array creation.
158-
#[derive(Default)]
158+
#[derive(Default, Debug, PartialEq)]
159159
pub struct ArrayObjectFlags: c_uint {
160160
/// Enables creation of layered CUDA arrays. When this flag is set, depth specifies the
161161
/// number of layers, not the depth of a 3D array.

0 commit comments

Comments
 (0)