diff --git a/cuda-bindings/README.md b/cuda-bindings/README.md
index c989894a5..af8aa7ee8 100644
--- a/cuda-bindings/README.md
+++ b/cuda-bindings/README.md
@@ -9,9 +9,10 @@ Use `cuda-core` for wrappers around these raw bindings.
- The bindings are generated at build time from a CUDA 13.0+ toolkit.
- The toolkit root is the first set variable among `CUDA_TOOLKIT_PATH` and
`CUDA_HOME`; when neither is set, the build searches the standard install
- locations (on Linux `/usr/local/cuda-13.3`, `/usr/local/cuda-13.2`,
- `/usr/local/cuda-13`, `/usr/local/cuda`; on Windows
- `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.3` and `v13.2`).
+ locations (on Linux `/usr/local/cuda-13.5` down through
+ `/usr/local/cuda-13.0`, then `/usr/local/cuda-13`, `/usr/local/cuda`; on
+ Windows `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.5` down
+ through `v13.0`).
- Within the toolkit, both the standard `include/` layout and the
redistributable `targets/
/include/` layouts (Jetson/Tegra, sbsa,
cross-builds, extracted redistributables) are probed for `cuda.h`.
diff --git a/cuda-bindings/build.rs b/cuda-bindings/build.rs
index d2d567ed1..e6ce99a72 100644
--- a/cuda-bindings/build.rs
+++ b/cuda-bindings/build.rs
@@ -225,13 +225,21 @@ fn default_cuda_toolkit_candidates() -> &'static [PathBuf] {
CANDIDATES.get_or_init(|| {
#[cfg(windows)]
let candidates = [
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.5",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.4",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.3",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0",
];
#[cfg(not(windows))]
let candidates = [
+ "/usr/local/cuda-13.5",
+ "/usr/local/cuda-13.4",
"/usr/local/cuda-13.3",
"/usr/local/cuda-13.2",
+ "/usr/local/cuda-13.1",
+ "/usr/local/cuda-13.0",
"/usr/local/cuda-13",
"/usr/local/cuda",
"/opt/cuda",
diff --git a/cuda-core/build.rs b/cuda-core/build.rs
index 5e29f1cec..3df81e2fb 100644
--- a/cuda-core/build.rs
+++ b/cuda-core/build.rs
@@ -38,13 +38,21 @@ const TOOLKIT_TARGET_DIR_ENV: &str = "CUDA_TOOLKIT_TARGET_DIR";
/// `cuda.h` than the one the bindings were generated from.
#[cfg(windows)]
const DEFAULT_TOOLKIT_DIRS: &[&str] = &[
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.5",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.4",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.3",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0",
];
#[cfg(not(windows))]
const DEFAULT_TOOLKIT_DIRS: &[&str] = &[
+ "/usr/local/cuda-13.5",
+ "/usr/local/cuda-13.4",
"/usr/local/cuda-13.3",
"/usr/local/cuda-13.2",
+ "/usr/local/cuda-13.1",
+ "/usr/local/cuda-13.0",
"/usr/local/cuda-13",
"/usr/local/cuda",
];
diff --git a/cuda-oxide/crates/cargo-oxide/src/commands/doctor.rs b/cuda-oxide/crates/cargo-oxide/src/commands/doctor.rs
index 4af245bcb..69887ef1d 100644
--- a/cuda-oxide/crates/cargo-oxide/src/commands/doctor.rs
+++ b/cuda-oxide/crates/cargo-oxide/src/commands/doctor.rs
@@ -817,16 +817,24 @@ const TOOLKIT_ENV_VARS: [&str; 2] = ["CUDA_TOOLKIT_PATH", "CUDA_HOME"];
/// preference list, not a version sort, and `/usr/local/cuda` is its *last*
/// entry rather than the default.
#[cfg(not(windows))]
-pub(super) const DEFAULT_TOOLKIT_CANDIDATES: [&str; 4] = [
+pub(super) const DEFAULT_TOOLKIT_CANDIDATES: [&str; 8] = [
+ "/usr/local/cuda-13.5",
+ "/usr/local/cuda-13.4",
"/usr/local/cuda-13.3",
"/usr/local/cuda-13.2",
+ "/usr/local/cuda-13.1",
+ "/usr/local/cuda-13.0",
"/usr/local/cuda-13",
"/usr/local/cuda",
];
#[cfg(windows)]
-pub(super) const DEFAULT_TOOLKIT_CANDIDATES: [&str; 2] = [
+pub(super) const DEFAULT_TOOLKIT_CANDIDATES: [&str; 6] = [
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.5",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.4",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.3",
r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1",
+ r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0",
];
/// The floor `cuda-bindings` enforces (`build.rs`, `MIN_CUDA_VERSION`):
diff --git a/cuda-oxide/cuda-oxide-book/getting-started/installation.md b/cuda-oxide/cuda-oxide-book/getting-started/installation.md
index 8d6fa79fa..18670c3a2 100644
--- a/cuda-oxide/cuda-oxide-book/getting-started/installation.md
+++ b/cuda-oxide/cuda-oxide-book/getting-started/installation.md
@@ -128,7 +128,7 @@ nvcc --version
```
:::{tip}
-If you installed CUDA to a non-default location, set `CUDA_TOOLKIT_PATH` to its root directory (the one containing `include/cuda.h`). If neither `CUDA_TOOLKIT_PATH` nor `CUDA_HOME` is set, these roots are tried in order and the first one holding a `cuda.h` of CUDA 13.0 or newer wins: `/usr/local/cuda-13.3`, `/usr/local/cuda-13.2`, `/usr/local/cuda-13`, `/usr/local/cuda`. With more than one toolkit installed, that order decides — not the highest version, and not the `/usr/local/cuda` symlink, which is last. `cargo oxide doctor` reports which root it resolved and why any earlier one was turned down.
+If you installed CUDA to a non-default location, set `CUDA_TOOLKIT_PATH` to its root directory (the one containing `include/cuda.h`). If neither `CUDA_TOOLKIT_PATH` nor `CUDA_HOME` is set, these roots are tried in order and the first one holding a `cuda.h` of CUDA 13.0 or newer wins: `/usr/local/cuda-13.5`, `/usr/local/cuda-13.4`, `/usr/local/cuda-13.3`, `/usr/local/cuda-13.2`, `/usr/local/cuda-13.1`, `/usr/local/cuda-13.0`, `/usr/local/cuda-13`, `/usr/local/cuda`. With more than one toolkit installed, that order decides — not the highest version, and not the `/usr/local/cuda` symlink, which is last. `cargo oxide doctor` reports which root it resolved and why any earlier one was turned down.
:::
(installation-toolkit-driver-compatibility)=