You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[] Add compatibility matrix for different Rust versions
592
-
-[] Include migration notes for future Rust editions
591
+
-[x] Add compatibility matrix for different Rust versions
592
+
-[x] Include migration notes for future Rust editions
593
593
594
-
**Progress (2025-11-15):** Created `rust-toolchain.toml` in both root and book directories specifying Rust 1.82.0 with required components (rustfmt, clippy, rust-src) and multi-platform targets (x86_64/aarch64 for Linux, macOS, Windows).
594
+
**Progress (2025-11-15):** Created `rust-toolchain.toml` in both root and book directories specifying Rust 1.82.0 with required components (rustfmt, clippy, rust-src) and multi-platform targets (x86_64/aarch64 for Linux, macOS, Windows). Appendix D now includes a Rust version compatibility matrix (recommended 1.82.0, MSRV 1.77) plus brief guidance on how to update `rust-toolchain.toml` and re-run CI when adopting newer Rust editions.
|**1.82.0**| Recommended | Default via `rust-toolchain.toml` in repo |
27
+
|**1.77+**| Supported | Minimum Supported Rust Version (MSRV) |
28
+
|\< 1.77 | Unsupported | Not covered by CI or book examples |
29
+
30
+
- For the book and examples, use the pinned toolchain by running commands inside the repository root or `book/` directory so that `rust-toolchain.toml` takes effect.
31
+
- For your own projects, you can target Rust **1.77+**; CI in this repository checks both the current stable toolchain and the MSRV.
32
+
20
33
## D.2 Installation Instructions
21
34
22
35
For most users:
@@ -55,11 +68,11 @@ OctaIndex3D supports GPU acceleration for encoding, neighbor search, and range q
55
68
56
69
### D.5.1 Metal (macOS)
57
70
58
-
Metal support is enabled through the `metal` feature flag:
71
+
Metal support is enabled through the `gpu-metal` feature flag:
59
72
60
73
```toml
61
74
[dependencies]
62
-
octaindex3d = { version = "0.4", features = ["metal"] }
75
+
octaindex3d = { version = "0.4", features = ["gpu-metal"] }
63
76
```
64
77
65
78
**Requirements:**
@@ -92,7 +105,7 @@ CUDA support requires the NVIDIA CUDA Toolkit and compatible GPU:
92
105
93
106
```toml
94
107
[dependencies]
95
-
octaindex3d = { version = "0.4", features = ["cuda"] }
108
+
octaindex3d = { version = "0.4", features = ["gpu-cuda"] }
octaindex3d = { version = "0.4", features = ["vulkan"] }
156
+
octaindex3d = { version = "0.4", features = ["gpu-vulkan"] }
144
157
```bash
145
158
146
159
**Requirements:**
@@ -681,6 +694,14 @@ Common issues and remedies:
681
694
sudo apt-get install libssl-dev pkg-config
682
695
```
683
696
697
+
- **`link.exe` or `lld` not found**
698
+
- **Windows:** Ensure the MSVC toolchain is installed and selected (`rustup show active-toolchain` should include `msvc`).
699
+
- **Linux/macOS:** Install the platform toolchain (`build-essential` on Debian/Ubuntu, `xcode-select --install` on macOS).
700
+
701
+
- **Rust version mismatches between CI and local**
702
+
- Run `rustc --version` locally and compare against the pinned `rust-toolchain.toml` and MSRV noted in §D.1.1.
703
+
- When upgrading Rust, update `rust-toolchain.toml`, run `cargo check` with `1.77` (MSRV) and stable, and only then rely on newer language features.
704
+
684
705
### D.9.2 Runtime Issues
685
706
686
707
- **Examples or benchmarks run slowly on laptop hardware**
@@ -702,6 +723,11 @@ Common issues and remedies:
702
723
system_profiler SPDisplaysDataType | grep Metal
703
724
```bash
704
725
726
+
- **Platform-specific GPU issues**
727
+
- **Windows:** Ensure the NVIDIA or vendor driver is installed and matches the CUDA/Vulkan runtime versions; WSL2 users may need to enable GPU passthrough explicitly.
728
+
- **Linux:** Confirm that kernel modules are loaded (`nvidia-smi` or `lsmod | grep amdgpu`) and that you are not inside a container without GPU access.
729
+
- **macOS:** Verify that you are on a Metal-capable GPU and that Xcode Command Line Tools are installed; older Intel Macs without full Metal support may fall back to CPU paths.
0 commit comments