Skip to content

Commit c2d4567

Browse files
Merge pull request #83 from smoparth/issue/74-extend-cuda-test-suite
test: extend CUDA test suite for PyTorch packages and CUDA_HOME
2 parents 9477674 + 56db1fc commit c2d4567

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/test_cuda_image.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ def test_cuda_in_path(cuda_container):
4141
assert "/usr/local/cuda/bin" in cuda_container.get_env("PATH")
4242

4343

44+
def test_cuda_home(cuda_container):
45+
"""Verify CUDA_HOME points to the CUDA toolkit directory.
46+
47+
PyTorch source builds (torch.utils.cpp_extension) and Triton JIT kernel
48+
compilation rely on CUDA_HOME to locate the toolkit.
49+
"""
50+
assert cuda_container.get_env("CUDA_HOME") == "/usr/local/cuda"
51+
52+
4453
# --- CUDA Toolkit Tests ---
4554

4655

@@ -77,6 +86,41 @@ def test_libcudnn_present(cuda_container):
7786
assert result.returncode == 0
7887

7988

89+
# --- PyTorch CUDA Library Tests ---
90+
91+
92+
def test_libcupti_present(cuda_container):
93+
"""Verify CUPTI (CUDA Profiling Tools Interface) library is present.
94+
95+
Required by the PyTorch profiler for GPU profiling.
96+
Installed via cuda-cupti package.
97+
"""
98+
result = cuda_container.run("ldconfig -p | grep libcupti")
99+
assert result.returncode == 0, "libcupti.so not found - cuda-cupti package may be missing"
100+
101+
102+
def test_libcusparselt_present(cuda_container):
103+
"""Verify cuSPARSELt (structured sparsity) library is present.
104+
105+
Used by PyTorch sparse operations for structured sparsity support.
106+
Installed via libcusparselt0 package.
107+
"""
108+
result = cuda_container.run("ldconfig -p | grep libcusparseLt")
109+
assert result.returncode == 0, (
110+
"libcusparseLt.so not found - libcusparselt0 package may be missing"
111+
)
112+
113+
114+
def test_libcudss_present(cuda_container):
115+
"""Verify cuDSS (direct sparse solver) library is present.
116+
117+
Used by scientific and ML solvers for sparse direct solving.
118+
Installed via libcudss0-cuda package.
119+
"""
120+
result = cuda_container.run("ldconfig -p | grep libcudss")
121+
assert result.returncode == 0, "libcudss.so not found - libcudss0-cuda package may be missing"
122+
123+
80124
# --- CUDA Label Tests ---
81125

82126

0 commit comments

Comments
 (0)