From 454b9884b5ae214b2468f61dae6448cc7b2c4ff9 Mon Sep 17 00:00:00 2001 From: Xiaodong Ye Date: Tue, 21 Jul 2026 20:15:59 +0800 Subject: [PATCH 1/2] Fix nested torch CUDA header porting --- src/torchada/utils/cpp_extension.py | 4 +++- tests/test_cpp_extension.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/torchada/utils/cpp_extension.py b/src/torchada/utils/cpp_extension.py index 9f52e30..fcf5b63 100644 --- a/src/torchada/utils/cpp_extension.py +++ b/src/torchada/utils/cpp_extension.py @@ -306,12 +306,14 @@ def patched_load_replaced_mapping(self): def _narrow_cuda_header_mapping(mapping_rule): - """Keep the cuda.h mapping from rewriting project-local header names.""" + """Port CUDA headers without rewriting project-local header names.""" narrowed = [(key, value) for key, value in mapping_rule if key != "cuda.h"] narrowed.extend( [ ('#include ', '#include '), ('#include "cuda.h"', '#include "musa.h"'), + ('#include ', '#include '), + ('#include "torch/cuda.h"', '#include "torch/musa.h"'), ] ) return sorted(narrowed, key=lambda item: len(item[0]), reverse=True) diff --git a/tests/test_cpp_extension.py b/tests/test_cpp_extension.py index 5dbaaa1..c60ca0b 100644 --- a/tests/test_cpp_extension.py +++ b/tests/test_cpp_extension.py @@ -129,6 +129,22 @@ def test_porting_keeps_project_cuda_header_names(self): assert rules['#include '] == '#include ' assert rules['#include "cuda.h"'] == '#include "musa.h"' + def test_porting_translates_torch_cuda_header(self): + from torchada.utils.cpp_extension import _narrow_cuda_header_mapping, _replace_porting_line + + rules = _narrow_cuda_header_mapping([("cuda.h", "musa.h")]) + + assert ( + _replace_porting_line("#include \n", rules) == "#include \n" + ) + assert ( + _replace_porting_line('#include "torch/cuda.h"\n', rules) == '#include "torch/musa.h"\n' + ) + + project_include = '#include "project/decode_jpegs_cuda.h"\n' + assert _replace_porting_line(project_include, rules) == project_include + + class TestMusaPatches: """Test patches applied to torch_musa for extension building.""" From 59d37f45abf9a3ae106fea03ca111c5dc14a350e Mon Sep 17 00:00:00 2001 From: Xiaodong Ye Date: Tue, 21 Jul 2026 20:20:42 +0800 Subject: [PATCH 2/2] bump version Signed-off-by: Xiaodong Ye --- README.md | 2 +- README_CN.md | 2 +- benchmarks/benchmark_history.json | 2 +- pyproject.toml | 2 +- src/torchada/__init__.py | 2 +- tests/test_platform.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4291e22..e5250aa 100644 --- a/README.md +++ b/README.md @@ -383,7 +383,7 @@ See `src/torchada/_mappings/` for 400+ mapping rules grouped by API domain. ``` # pyproject.toml or requirements.txt -torchada>=0.1.75 +torchada>=0.1.76 ``` ### Step 2: Conditional Import diff --git a/README_CN.md b/README_CN.md index 00b77b6..30b21d9 100644 --- a/README_CN.md +++ b/README_CN.md @@ -368,7 +368,7 @@ if torchada.is_gpu_device(device): # 在 CUDA 和 MUSA 上都能工作 ``` # pyproject.toml 或 requirements.txt -torchada>=0.1.75 +torchada>=0.1.76 ``` ### 步骤 2:条件导入 diff --git a/benchmarks/benchmark_history.json b/benchmarks/benchmark_history.json index 8d2f6a1..3411a94 100644 --- a/benchmarks/benchmark_history.json +++ b/benchmarks/benchmark_history.json @@ -3,7 +3,7 @@ "description": "Historical benchmark results for torchada performance tracking", "results": [ { - "version": "0.1.75", + "version": "0.1.76", "date": "2026-01-29", "platform": "MUSA", "pytorch_version": "2.7.1", diff --git a/pyproject.toml b/pyproject.toml index 1da8266..eda13bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "torchada" -version = "0.1.75" +version = "0.1.76" description = "Adapter package for torch_musa to act exactly like PyTorch CUDA" readme = "README.md" license = {text = "MIT"} diff --git a/src/torchada/__init__.py b/src/torchada/__init__.py index f8d8a8e..6953411 100644 --- a/src/torchada/__init__.py +++ b/src/torchada/__init__.py @@ -24,7 +24,7 @@ from torch.utils.cpp_extension import CUDAExtension, BuildExtension, CUDA_HOME """ -__version__ = "0.1.75" +__version__ = "0.1.76" from . import cuda, utils diff --git a/tests/test_platform.py b/tests/test_platform.py index 6a2b23b..5496f48 100644 --- a/tests/test_platform.py +++ b/tests/test_platform.py @@ -59,7 +59,7 @@ def test_get_version(self): version = torchada.get_version() assert version == torchada.__version__ - assert version == "0.1.75" + assert version == "0.1.76" assert isinstance(version, str) def test_project_version_matches_runtime_version(self):