diff --git a/crates/uv-torch/src/backend.rs b/crates/uv-torch/src/backend.rs
index 773fd619b..7437744d5 100644
--- a/crates/uv-torch/src/backend.rs
+++ b/crates/uv-torch/src/backend.rs
@@ -113,6 +113,10 @@ pub enum TorchMode {
Cu90,
/// Use the PyTorch index for CUDA 8.0.
Cu80,
+ /// Use the PyTorch index for ROCm 6.4.
+ #[serde(rename = "rocm6.4")]
+ #[cfg_attr(feature = "clap", clap(name = "rocm6.4"))]
+ Rocm64,
/// Use the PyTorch index for ROCm 6.3.
#[serde(rename = "rocm6.3")]
#[cfg_attr(feature = "clap", clap(name = "rocm6.3"))]
@@ -272,6 +276,7 @@ impl TorchStrategy {
TorchMode::Cu91 => TorchBackend::Cu91,
TorchMode::Cu90 => TorchBackend::Cu90,
TorchMode::Cu80 => TorchBackend::Cu80,
+ TorchMode::Rocm64 => TorchBackend::Rocm64,
TorchMode::Rocm63 => TorchBackend::Rocm63,
TorchMode::Rocm624 => TorchBackend::Rocm624,
TorchMode::Rocm62 => TorchBackend::Rocm62,
@@ -516,6 +521,7 @@ pub enum TorchBackend {
Cu91,
Cu90,
Cu80,
+ Rocm64,
Rocm63,
Rocm624,
Rocm62,
@@ -647,6 +653,10 @@ impl TorchBackend {
TorchSource::PyTorch => &PYTORCH_CU80_INDEX_URL,
TorchSource::Pyx => &PYX_CU80_INDEX_URL,
},
+ Self::Rocm64 => match source {
+ TorchSource::PyTorch => &PYTORCH_ROCM64_INDEX_URL,
+ TorchSource::Pyx => &PYX_ROCM64_INDEX_URL,
+ },
Self::Rocm63 => match source {
TorchSource::PyTorch => &PYTORCH_ROCM63_INDEX_URL,
TorchSource::Pyx => &PYX_ROCM63_INDEX_URL,
@@ -774,6 +784,7 @@ impl TorchBackend {
Self::Cu91 => Some(Version::new([9, 1])),
Self::Cu90 => Some(Version::new([9, 0])),
Self::Cu80 => Some(Version::new([8, 0])),
+ Self::Rocm64 => None,
Self::Rocm63 => None,
Self::Rocm624 => None,
Self::Rocm62 => None,
@@ -824,6 +835,7 @@ impl TorchBackend {
Self::Cu91 => None,
Self::Cu90 => None,
Self::Cu80 => None,
+ Self::Rocm64 => Some(Version::new([6, 4])),
Self::Rocm63 => Some(Version::new([6, 3])),
Self::Rocm624 => Some(Version::new([6, 2, 4])),
Self::Rocm62 => Some(Version::new([6, 2])),
@@ -877,6 +889,7 @@ impl FromStr for TorchBackend {
"cu91" => Ok(Self::Cu91),
"cu90" => Ok(Self::Cu90),
"cu80" => Ok(Self::Cu80),
+ "rocm6.4" => Ok(Self::Rocm64),
"rocm6.3" => Ok(Self::Rocm63),
"rocm6.2.4" => Ok(Self::Rocm624),
"rocm6.2" => Ok(Self::Rocm62),
@@ -991,9 +1004,21 @@ static WINDOWS_CUDA_VERSIONS: LazyLock<[(TorchBackend, Version); 26]> = LazyLock
///
/// AMD also provides a compatibility matrix: --python-version.
cu91: Use the PyTorch index for CUDA 9.1cu90: Use the PyTorch index for CUDA 9.0cu80: Use the PyTorch index for CUDA 8.0rocm6.4: Use the PyTorch index for ROCm 6.4rocm6.3: Use the PyTorch index for ROCm 6.3rocm6.2.4: Use the PyTorch index for ROCm 6.2.4rocm6.2: Use the PyTorch index for ROCm 6.2cu91: Use the PyTorch index for CUDA 9.1cu90: Use the PyTorch index for CUDA 9.0cu80: Use the PyTorch index for CUDA 8.0rocm6.4: Use the PyTorch index for ROCm 6.4rocm6.3: Use the PyTorch index for ROCm 6.3rocm6.2.4: Use the PyTorch index for ROCm 6.2.4rocm6.2: Use the PyTorch index for ROCm 6.2cu91: Use the PyTorch index for CUDA 9.1
cu90: Use the PyTorch index for CUDA 9.0cu80: Use the PyTorch index for CUDA 8.0rocm6.4: Use the PyTorch index for ROCm 6.4rocm6.3: Use the PyTorch index for ROCm 6.3rocm6.2.4: Use the PyTorch index for ROCm 6.2.4rocm6.2: Use the PyTorch index for ROCm 6.2