Skip to content

Commit 343c4c7

Browse files
committed
Remove overriding tests
1 parent 3ea65c8 commit 343c4c7

1 file changed

Lines changed: 91 additions & 70 deletions

File tree

cuda_bindings/tests/test_cufile.py

Lines changed: 91 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
import tempfile
1111
from contextlib import suppress
1212
from functools import cache
13-
14-
import cuda.bindings.driver as cuda
1513
import pytest
14+
import cuda.bindings.driver as cuda
1615

1716
# Configure logging to show INFO level and above
1817
logging.basicConfig(
@@ -1444,17 +1443,14 @@ def test_batch_io_large_operations():
14441443
read_buffers = []
14451444
all_buffers = [] # Initialize all_buffers to avoid UnboundLocalError
14461445

1447-
print("=== CUDA Memory Allocation ===")
14481446
for i in range(num_operations):
14491447
err, buf = cuda.cuMemAlloc(buf_size)
14501448
assert err == cuda.CUresult.CUDA_SUCCESS
14511449
write_buffers.append(buf)
1452-
print(f"Write buffer {i}: {hex(int(buf))} (4K aligned: {int(buf) % 4096 == 0})")
14531450

14541451
err, buf = cuda.cuMemAlloc(buf_size)
14551452
assert err == cuda.CUresult.CUDA_SUCCESS
14561453
read_buffers.append(buf)
1457-
print(f"Read buffer {i}: {hex(int(buf))} (4K aligned: {int(buf) % 4096 == 0})")
14581454

14591455
# Allocate host memory for data verification
14601456
host_buf = ctypes.create_string_buffer(buf_size)
@@ -1797,8 +1793,8 @@ def test_batch_io_large_operations():
17971793
@pytest.mark.skipif(
17981794
cufileVersionLessThan(1140), reason="cuFile parameter APIs require cuFile library version 1.14.0 or later"
17991795
)
1800-
def test_get_parameter_bool():
1801-
"""Test setting and getting boolean parameters with cuFile validation."""
1796+
def test_set_get_parameter_size_t():
1797+
"""Test setting and getting size_t parameters with cuFile validation."""
18021798

18031799
# Initialize CUDA
18041800
(err,) = cuda.cuInit(0)
@@ -1813,67 +1809,92 @@ def test_get_parameter_bool():
18131809
assert err == cuda.CUresult.CUDA_SUCCESS
18141810

18151811
try:
1816-
# Test setting and getting various boolean parameters
1817-
1818-
# Test poll mode
1819-
cufile.set_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_USE_POLL_MODE, True)
1820-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_USE_POLL_MODE)
1821-
assert retrieved_value is True, f"Poll mode mismatch: set True, got {retrieved_value}"
1822-
1823-
# Test compatibility mode
1824-
cufile.set_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_ALLOW_COMPAT_MODE, False)
1825-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_ALLOW_COMPAT_MODE)
1826-
assert retrieved_value is False, f"Compatibility mode mismatch: set False, got {retrieved_value}"
1827-
1828-
# Test force compatibility mode
1829-
cufile.set_parameter_bool(cufile.BoolConfigParameter.FORCE_COMPAT_MODE, False)
1830-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.FORCE_COMPAT_MODE)
1831-
assert retrieved_value is False, f"Force compatibility mode mismatch: set False, got {retrieved_value}"
1832-
1833-
# Test aggressive API check
1834-
cufile.set_parameter_bool(cufile.BoolConfigParameter.FS_MISC_API_CHECK_AGGRESSIVE, True)
1835-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.FS_MISC_API_CHECK_AGGRESSIVE)
1836-
assert retrieved_value is True, f"Aggressive API check mismatch: set True, got {retrieved_value}"
1837-
1838-
# Test parallel IO
1839-
cufile.set_parameter_bool(cufile.BoolConfigParameter.EXECUTION_PARALLEL_IO, True)
1840-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.EXECUTION_PARALLEL_IO)
1841-
assert retrieved_value is True, f"Parallel IO mismatch: set True, got {retrieved_value}"
1842-
1843-
# Test NVTX profiling
1844-
cufile.set_parameter_bool(cufile.BoolConfigParameter.PROFILE_NVTX, False)
1845-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.PROFILE_NVTX)
1846-
assert retrieved_value is False, f"NVTX profiling mismatch: set False, got {retrieved_value}"
1847-
1848-
# Test system memory allowance
1849-
cufile.set_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_ALLOW_SYSTEM_MEMORY, True)
1850-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.PROPERTIES_ALLOW_SYSTEM_MEMORY)
1851-
assert retrieved_value is True, f"System memory allowance mismatch: set True, got {retrieved_value}"
1852-
1853-
# Test PCI P2P DMA
1854-
cufile.set_parameter_bool(cufile.BoolConfigParameter.USE_PCIP2PDMA, True)
1855-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.USE_PCIP2PDMA)
1856-
assert retrieved_value is True, f"PCI P2P DMA mismatch: set True, got {retrieved_value}"
1857-
1858-
# Test IO uring preference
1859-
cufile.set_parameter_bool(cufile.BoolConfigParameter.PREFER_IO_URING, False)
1860-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.PREFER_IO_URING)
1861-
assert retrieved_value is False, f"IO uring preference mismatch: set False, got {retrieved_value}"
1862-
1863-
# Test force O_DIRECT mode
1864-
cufile.set_parameter_bool(cufile.BoolConfigParameter.FORCE_ODIRECT_MODE, True)
1865-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.FORCE_ODIRECT_MODE)
1866-
assert retrieved_value is True, f"Force O_DIRECT mode mismatch: set True, got {retrieved_value}"
1867-
1868-
# Test topology detection skip
1869-
cufile.set_parameter_bool(cufile.BoolConfigParameter.SKIP_TOPOLOGY_DETECTION, False)
1870-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.SKIP_TOPOLOGY_DETECTION)
1871-
assert retrieved_value is False, f"Topology detection skip mismatch: set False, got {retrieved_value}"
1872-
1873-
# Test stream memops bypass
1874-
cufile.set_parameter_bool(cufile.BoolConfigParameter.STREAM_MEMOPS_BYPASS, True)
1875-
retrieved_value = cufile.get_parameter_bool(cufile.BoolConfigParameter.STREAM_MEMOPS_BYPASS)
1876-
assert retrieved_value is True, f"Stream memops bypass mismatch: set True, got {retrieved_value}"
1812+
# Test setting and getting various size_t parameters
1813+
1814+
# Test poll threshold size (in KB)
1815+
poll_threshold_kb = 64 # 64KB threshold
1816+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.POLLTHRESHOLD_SIZE_KB, poll_threshold_kb)
1817+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.POLLTHRESHOLD_SIZE_KB)
1818+
assert retrieved_value == poll_threshold_kb, (
1819+
f"Poll threshold mismatch: set {poll_threshold_kb}, got {retrieved_value}"
1820+
)
1821+
1822+
# Test max direct IO size (in KB)
1823+
max_direct_io_kb = 1024 # 1MB max direct IO size
1824+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DIRECT_IO_SIZE_KB, max_direct_io_kb)
1825+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DIRECT_IO_SIZE_KB)
1826+
assert retrieved_value == max_direct_io_kb, (
1827+
f"Max direct IO size mismatch: set {max_direct_io_kb}, got {retrieved_value}"
1828+
)
1829+
1830+
# Test max device cache size (in KB)
1831+
max_cache_kb = 512 # 512KB max cache size
1832+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_CACHE_SIZE_KB, max_cache_kb)
1833+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_CACHE_SIZE_KB)
1834+
assert retrieved_value == max_cache_kb, f"Max cache size mismatch: set {max_cache_kb}, got {retrieved_value}"
1835+
1836+
# Test per buffer cache size (in KB)
1837+
per_buffer_cache_kb = 128 # 128KB per buffer cache
1838+
cufile.set_parameter_size_t(
1839+
cufile.SizeTConfigParameter.PROPERTIES_PER_BUFFER_CACHE_SIZE_KB, per_buffer_cache_kb
1840+
)
1841+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_PER_BUFFER_CACHE_SIZE_KB)
1842+
assert retrieved_value == per_buffer_cache_kb, (
1843+
f"Per buffer cache size mismatch: set {per_buffer_cache_kb}, got {retrieved_value}"
1844+
)
1845+
1846+
# Test max device pinned memory size (in KB)
1847+
max_pinned_kb = 2048 # 2MB max pinned memory
1848+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_PINNED_MEM_SIZE_KB, max_pinned_kb)
1849+
retrieved_value = cufile.get_parameter_size_t(
1850+
cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_PINNED_MEM_SIZE_KB
1851+
)
1852+
assert retrieved_value == max_pinned_kb, (
1853+
f"Max pinned memory size mismatch: set {max_pinned_kb}, got {retrieved_value}"
1854+
)
1855+
1856+
# Test IO batch size
1857+
batch_size = 16 # 16 operations per batch
1858+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_IO_BATCHSIZE, batch_size)
1859+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_IO_BATCHSIZE)
1860+
assert retrieved_value == batch_size, f"IO batch size mismatch: set {batch_size}, got {retrieved_value}"
1861+
1862+
# Test batch IO timeout (in milliseconds)
1863+
timeout_ms = 5000 # 5 second timeout
1864+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_BATCH_IO_TIMEOUT_MS, timeout_ms)
1865+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_BATCH_IO_TIMEOUT_MS)
1866+
assert retrieved_value == timeout_ms, f"Batch IO timeout mismatch: set {timeout_ms}, got {retrieved_value}"
1867+
1868+
# Test execution parameters
1869+
max_io_queue_depth = 32 # Max 32 operations in queue
1870+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_QUEUE_DEPTH, max_io_queue_depth)
1871+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_QUEUE_DEPTH)
1872+
assert retrieved_value == max_io_queue_depth, (
1873+
f"Max IO queue depth mismatch: set {max_io_queue_depth}, got {retrieved_value}"
1874+
)
1875+
1876+
max_io_threads = 8 # Max 8 IO threads
1877+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_THREADS, max_io_threads)
1878+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_THREADS)
1879+
assert retrieved_value == max_io_threads, (
1880+
f"Max IO threads mismatch: set {max_io_threads}, got {retrieved_value}"
1881+
)
1882+
1883+
min_io_threshold_kb = 4 # 4KB minimum IO threshold
1884+
cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MIN_IO_THRESHOLD_SIZE_KB, min_io_threshold_kb)
1885+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MIN_IO_THRESHOLD_SIZE_KB)
1886+
assert retrieved_value == min_io_threshold_kb, (
1887+
f"Min IO threshold mismatch: set {min_io_threshold_kb}, got {retrieved_value}"
1888+
)
1889+
1890+
max_request_parallelism = 4 # Max 4 parallel requests
1891+
cufile.set_parameter_size_t(
1892+
cufile.SizeTConfigParameter.EXECUTION_MAX_REQUEST_PARALLELISM, max_request_parallelism
1893+
)
1894+
retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_REQUEST_PARALLELISM)
1895+
assert retrieved_value == max_request_parallelism, (
1896+
f"Max request parallelism mismatch: set {max_request_parallelism}, got {retrieved_value}"
1897+
)
18771898

18781899
finally:
18791900
cuda.cuDevicePrimaryCtxRelease(device)
@@ -1882,7 +1903,8 @@ def test_get_parameter_bool():
18821903
@pytest.mark.skipif(
18831904
cufileVersionLessThan(1140), reason="cuFile parameter APIs require cuFile library version 1.14.0 or later"
18841905
)
1885-
def test_get_parameter_string():
1906+
1907+
def test_set_get_parameter_string():
18861908
"""Test setting and getting string parameters with cuFile validation."""
18871909

18881910
# Initialize CUDA
@@ -1964,7 +1986,6 @@ def test_get_parameter_string():
19641986
finally:
19651987
cuda.cuDevicePrimaryCtxRelease(device)
19661988

1967-
19681989
@pytest.mark.skipif(
19691990
cufileVersionLessThan(1140), reason="cuFile parameter APIs require cuFile library version 13.0 or later"
19701991
)

0 commit comments

Comments
 (0)