|
11 | 11 | from contextlib import suppress |
12 | 12 | from functools import cache |
13 | 13 |
|
14 | | -import cuda.bindings.driver as cuda |
15 | 14 | import pytest |
16 | 15 |
|
| 16 | +import cuda.bindings.driver as cuda |
| 17 | + |
17 | 18 | # Configure logging to show INFO level and above |
18 | 19 | logging.basicConfig( |
19 | 20 | level=logging.INFO, |
@@ -1945,14 +1946,12 @@ def test_set_stats_level(): |
1945 | 1946 |
|
1946 | 1947 | # Test invalid level (should raise an error) |
1947 | 1948 | try: |
1948 | | - cufile.set_stats_level(-1) # Invalid negative level |
1949 | | - assert False, "Expected an error for invalid stats level -1" |
| 1949 | + assert cufile.set_stats_level(-1) # Invalid negative level |
1950 | 1950 | except Exception as e: |
1951 | 1951 | logging.info(f"Correctly caught error for invalid stats level: {e}") |
1952 | 1952 |
|
1953 | 1953 | try: |
1954 | | - cufile.set_stats_level(4) # Invalid level > 3 |
1955 | | - assert False, "Expected an error for invalid stats level 4" |
| 1954 | + assert cufile.set_stats_level(4) # Invalid level > 3 |
1956 | 1955 | except Exception as e: |
1957 | 1956 | logging.info(f"Correctly caught error for invalid stats level: {e}") |
1958 | 1957 |
|
@@ -2477,113 +2476,3 @@ def test_set_parameter_posix_pool_slab_array(): |
2477 | 2476 | # Close cuFile driver |
2478 | 2477 | cufile.driver_close() |
2479 | 2478 | cuda.cuDevicePrimaryCtxRelease(device) |
2480 | | - |
2481 | | - |
2482 | | -@pytest.mark.skipif( |
2483 | | - cufileVersionLessThan(1150), reason="cuFile parameter APIs require cuFile library version 1.14.0 or later" |
2484 | | -) |
2485 | | -def test_set_get_parameter_size_t(): |
2486 | | - """Test setting and getting size_t parameters with cuFile validation.""" |
2487 | | - |
2488 | | - # Initialize CUDA |
2489 | | - (err,) = cuda.cuInit(0) |
2490 | | - assert err == cuda.CUresult.CUDA_SUCCESS |
2491 | | - |
2492 | | - err, device = cuda.cuDeviceGet(0) |
2493 | | - assert err == cuda.CUresult.CUDA_SUCCESS |
2494 | | - |
2495 | | - err, ctx = cuda.cuDevicePrimaryCtxRetain(device) |
2496 | | - assert err == cuda.CUresult.CUDA_SUCCESS |
2497 | | - (err,) = cuda.cuCtxSetCurrent(ctx) |
2498 | | - assert err == cuda.CUresult.CUDA_SUCCESS |
2499 | | - |
2500 | | - try: |
2501 | | - # Test setting and getting various size_t parameters |
2502 | | - |
2503 | | - # Test poll threshold size (in KB) |
2504 | | - poll_threshold_kb = 64 # 64KB threshold |
2505 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.POLLTHRESHOLD_SIZE_KB, poll_threshold_kb) |
2506 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.POLLTHRESHOLD_SIZE_KB) |
2507 | | - assert retrieved_value == poll_threshold_kb, ( |
2508 | | - f"Poll threshold mismatch: set {poll_threshold_kb}, got {retrieved_value}" |
2509 | | - ) |
2510 | | - |
2511 | | - # Test max direct IO size (in KB) |
2512 | | - max_direct_io_kb = 1024 # 1MB max direct IO size |
2513 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DIRECT_IO_SIZE_KB, max_direct_io_kb) |
2514 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DIRECT_IO_SIZE_KB) |
2515 | | - assert retrieved_value == max_direct_io_kb, ( |
2516 | | - f"Max direct IO size mismatch: set {max_direct_io_kb}, got {retrieved_value}" |
2517 | | - ) |
2518 | | - |
2519 | | - # Test max device cache size (in KB) |
2520 | | - max_cache_kb = 512 # 512KB max cache size |
2521 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_CACHE_SIZE_KB, max_cache_kb) |
2522 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_CACHE_SIZE_KB) |
2523 | | - assert retrieved_value == max_cache_kb, f"Max cache size mismatch: set {max_cache_kb}, got {retrieved_value}" |
2524 | | - |
2525 | | - # Test per buffer cache size (in KB) |
2526 | | - per_buffer_cache_kb = 128 # 128KB per buffer cache |
2527 | | - cufile.set_parameter_size_t( |
2528 | | - cufile.SizeTConfigParameter.PROPERTIES_PER_BUFFER_CACHE_SIZE_KB, per_buffer_cache_kb |
2529 | | - ) |
2530 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_PER_BUFFER_CACHE_SIZE_KB) |
2531 | | - assert retrieved_value == per_buffer_cache_kb, ( |
2532 | | - f"Per buffer cache size mismatch: set {per_buffer_cache_kb}, got {retrieved_value}" |
2533 | | - ) |
2534 | | - |
2535 | | - # Test max device pinned memory size (in KB) |
2536 | | - max_pinned_kb = 2048 # 2MB max pinned memory |
2537 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_PINNED_MEM_SIZE_KB, max_pinned_kb) |
2538 | | - retrieved_value = cufile.get_parameter_size_t( |
2539 | | - cufile.SizeTConfigParameter.PROPERTIES_MAX_DEVICE_PINNED_MEM_SIZE_KB |
2540 | | - ) |
2541 | | - assert retrieved_value == max_pinned_kb, ( |
2542 | | - f"Max pinned memory size mismatch: set {max_pinned_kb}, got {retrieved_value}" |
2543 | | - ) |
2544 | | - |
2545 | | - # Test IO batch size |
2546 | | - batch_size = 16 # 16 operations per batch |
2547 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_IO_BATCHSIZE, batch_size) |
2548 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_IO_BATCHSIZE) |
2549 | | - assert retrieved_value == batch_size, f"IO batch size mismatch: set {batch_size}, got {retrieved_value}" |
2550 | | - |
2551 | | - # Test batch IO timeout (in milliseconds) |
2552 | | - timeout_ms = 5000 # 5 second timeout |
2553 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_BATCH_IO_TIMEOUT_MS, timeout_ms) |
2554 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.PROPERTIES_BATCH_IO_TIMEOUT_MS) |
2555 | | - assert retrieved_value == timeout_ms, f"Batch IO timeout mismatch: set {timeout_ms}, got {retrieved_value}" |
2556 | | - |
2557 | | - # Test execution parameters |
2558 | | - max_io_queue_depth = 32 # Max 32 operations in queue |
2559 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_QUEUE_DEPTH, max_io_queue_depth) |
2560 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_QUEUE_DEPTH) |
2561 | | - assert retrieved_value == max_io_queue_depth, ( |
2562 | | - f"Max IO queue depth mismatch: set {max_io_queue_depth}, got {retrieved_value}" |
2563 | | - ) |
2564 | | - |
2565 | | - max_io_threads = 8 # Max 8 IO threads |
2566 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_THREADS, max_io_threads) |
2567 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_IO_THREADS) |
2568 | | - assert retrieved_value == max_io_threads, ( |
2569 | | - f"Max IO threads mismatch: set {max_io_threads}, got {retrieved_value}" |
2570 | | - ) |
2571 | | - |
2572 | | - min_io_threshold_kb = 4 # 4KB minimum IO threshold |
2573 | | - cufile.set_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MIN_IO_THRESHOLD_SIZE_KB, min_io_threshold_kb) |
2574 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MIN_IO_THRESHOLD_SIZE_KB) |
2575 | | - assert retrieved_value == min_io_threshold_kb, ( |
2576 | | - f"Min IO threshold mismatch: set {min_io_threshold_kb}, got {retrieved_value}" |
2577 | | - ) |
2578 | | - |
2579 | | - max_request_parallelism = 4 # Max 4 parallel requests |
2580 | | - cufile.set_parameter_size_t( |
2581 | | - cufile.SizeTConfigParameter.EXECUTION_MAX_REQUEST_PARALLELISM, max_request_parallelism |
2582 | | - ) |
2583 | | - retrieved_value = cufile.get_parameter_size_t(cufile.SizeTConfigParameter.EXECUTION_MAX_REQUEST_PARALLELISM) |
2584 | | - assert retrieved_value == max_request_parallelism, ( |
2585 | | - f"Max request parallelism mismatch: set {max_request_parallelism}, got {retrieved_value}" |
2586 | | - ) |
2587 | | - |
2588 | | - finally: |
2589 | | - cuda.cuDevicePrimaryCtxRelease(device) |
0 commit comments