test-lib-nv-utils.bash
1 #!/usr/bin/env bash 2 # Test NVIDIA GPU utility functions 3 4 echo "Testing NVIDIA GPU utility functions..." 5 6 # Test capability-to-arch conversions 7 echo "Testing capability-to-arch..." 8 9 # Volta 10 if [ "@cap70@" != "volta" ]; then 11 echo "x FAILED: capability-to-arch 7.0" 12 exit 1 13 fi 14 echo "v 7.0 -> volta" 15 16 # Turing 17 if [ "@cap75@" != "turing" ]; then 18 echo "x FAILED: capability-to-arch 7.5" 19 exit 1 20 fi 21 echo "v 7.5 -> turing" 22 23 # Ampere (8.0) 24 if [ "@cap80@" != "ampere" ]; then 25 echo "x FAILED: capability-to-arch 8.0" 26 exit 1 27 fi 28 echo "v 8.0 -> ampere" 29 30 # Ada 31 if [ "@cap89@" != "ada" ]; then 32 echo "x FAILED: capability-to-arch 8.9" 33 exit 1 34 fi 35 echo "v 8.9 -> ada" 36 37 # Hopper 38 if [ "@cap90@" != "hopper" ]; then 39 echo "x FAILED: capability-to-arch 9.0" 40 exit 1 41 fi 42 echo "v 9.0 -> hopper" 43 44 # Blackwell (10.0) 45 if [ "@cap100@" != "blackwell" ]; then 46 echo "x FAILED: capability-to-arch 10.0" 47 exit 1 48 fi 49 echo "v 10.0 -> blackwell" 50 51 # Blackwell (12.0) 52 if [ "@cap120@" != "blackwell" ]; then 53 echo "x FAILED: capability-to-arch 12.0" 54 exit 1 55 fi 56 echo "v 12.0 -> blackwell" 57 58 # Test supports-fp8 59 echo "" 60 echo "Testing supports-fp8..." 61 62 # Ada (8.9) should NOT support FP8 63 if [ "@fp8cap89@" != "false" ]; then 64 echo "x FAILED: supports-fp8 8.9 should be false" 65 exit 1 66 fi 67 echo "v 8.9 does NOT support FP8" 68 69 # Hopper (9.0) should support FP8 70 if [ "@fp8cap90@" != "true" ]; then 71 echo "x FAILED: supports-fp8 9.0 should be true" 72 exit 1 73 fi 74 echo "v 9.0 supports FP8" 75 76 # Blackwell (12.0) should support FP8 77 if [ "@fp8cap120@" != "true" ]; then 78 echo "x FAILED: supports-fp8 12.0 should be true" 79 exit 1 80 fi 81 echo "v 12.0 supports FP8" 82 83 # Test supports-nvfp4 84 echo "" 85 echo "Testing supports-nvfp4..." 86 87 # Hopper (9.0) should NOT support NVFP4 88 if [ "@nvfp4cap90@" != "false" ]; then 89 echo "x FAILED: supports-nvfp4 9.0 should be false" 90 exit 1 91 fi 92 echo "v 9.0 does NOT support NVFP4" 93 94 # Blackwell (12.0) should support NVFP4 95 if [ "@nvfp4cap120@" != "true" ]; then 96 echo "x FAILED: supports-nvfp4 12.0 should be true" 97 exit 1 98 fi 99 echo "v 12.0 supports NVFP4" 100 101 # Test nvcc-flags 102 echo "" 103 echo "Testing nvcc-flags..." 104 105 flags="@nvccFlags@" 106 expected="-gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_90,code=sm_90" 107 if [ "$flags" != "$expected" ]; then 108 echo "x FAILED: nvcc-flags" 109 echo " Got: $flags" 110 echo " Expected: $expected" 111 exit 1 112 fi 113 echo "v nvcc-flags generates correct flags" 114 115 mkdir -p "$out" 116 echo "SUCCESS" >"$out/SUCCESS" 117 echo "All NVIDIA GPU utility function tests passed" >>"$out/SUCCESS"