Skip to content

Commit

Permalink
test: move compliance tests (#74)
Browse files Browse the repository at this point in the history
  • Loading branch information
kevmo314 authored Jan 6, 2025
1 parent ff55cc4 commit 316ec50
Show file tree
Hide file tree
Showing 2 changed files with 184 additions and 36 deletions.
184 changes: 184 additions & 0 deletions local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,190 @@ test() {
return 1
fi
done

# if ./test/cuda-samples/bin doesn't exist, exit
if [ ! -d "./test/cuda-samples/bin" ]; then
echo -e "\033[31mCUDA samples not found. Exiting...\033[0m"
return 1
fi

echo -e "\n\033[1mRunning compliance test(s)...\033[0m"

# Path to the directory containing executables
compliance_tests=(
# "./test/cuda-samples/bin/x86_64/linux/release/MC_SingleAsianOptionP"
# "./test/cuda-samples/bin/x86_64/linux/release/asyncAPI"
"./test/cuda-samples/bin/x86_64/linux/release/c++11_cuda"
"./test/cuda-samples/bin/x86_64/linux/release/vectorAdd"
# "./test/cuda-samples/bin/x86_64/linux/release/streamOrderedAllocationIPC"
# "./test/cuda-samples/bin/x86_64/linux/release/cuSolverDn_LinearSolver"
# "./test/cuda-samples/bin/x86_64/linux/release/fastWalshTransform"
# "./test/cuda-samples/bin/x86_64/linux/release/eigenvalues"
# "./test/cuda-samples/bin/x86_64/linux/release/SobolQRNG"
# "./test/cuda-samples/bin/x86_64/linux/release/convolutionFFT2D"
# "./test/cuda-samples/bin/x86_64/linux/release/binaryPartitionCG"
# "./test/cuda-samples/bin/x86_64/linux/release/sortingNetworks"
# "./test/cuda-samples/bin/x86_64/linux/release/inlinePTX"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUBLAS_LU"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAttributes"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAtomicIntrinsics"
# "./test/cuda-samples/bin/x86_64/linux/release/UnifiedMemoryPerf"
"./test/cuda-samples/bin/x86_64/linux/release/batchCUBLAS"
# "./test/cuda-samples/bin/x86_64/linux/release/MC_EstimatePiInlineP"
# "./test/cuda-samples/bin/x86_64/linux/release/vectorAddMMAP"
# "./test/cuda-samples/bin/x86_64/linux/release/NV12toBGRandResize"
# "./test/cuda-samples/bin/x86_64/linux/release/topologyQuery"
# "./test/cuda-samples/bin/x86_64/linux/release/matrixMulCUBLAS"
# "./test/cuda-samples/bin/x86_64/linux/release/cudaTensorCoreGemm"
"./test/cuda-samples/bin/x86_64/linux/release/simplePrintf"
# "./test/cuda-samples/bin/x86_64/linux/release/p2pBandwidthLatencyTest"
# "./test/cuda-samples/bin/x86_64/linux/release/threadMigration"
# "./test/cuda-samples/bin/x86_64/linux/release/batchedLabelMarkersAndLabelCompressionNPP"
# "./test/cuda-samples/bin/x86_64/linux/release/mergeSort"
# "./test/cuda-samples/bin/x86_64/linux/release/cppOverload"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleLayeredTexture"
# "./test/cuda-samples/bin/x86_64/linux/release/nvJPEG"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCallback"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradientMultiDeviceCG"
# "./test/cuda-samples/bin/x86_64/linux/release/dwtHaar1D"
# "./test/cuda-samples/bin/x86_64/linux/release/fp16ScalarProduct"
# "./test/cuda-samples/bin/x86_64/linux/release/radixSortThrust"
# "./test/cuda-samples/bin/x86_64/linux/release/cdpSimplePrint"
# "./test/cuda-samples/bin/x86_64/linux/release/cuSolverSp_LinearSolver"
# "./test/cuda-samples/bin/x86_64/linux/release/threadFenceReduction"
# "./test/cuda-samples/bin/x86_64/linux/release/dct8x8"
# "./test/cuda-samples/bin/x86_64/linux/release/scan"
# "./test/cuda-samples/bin/x86_64/linux/release/cudaOpenMP"
# "./test/cuda-samples/bin/x86_64/linux/release/alignedTypes"
# "./test/cuda-samples/bin/x86_64/linux/release/cudaGraphsPerfScaling"
# "./test/cuda-samples/bin/x86_64/linux/release/MersenneTwisterGP11213"
# "./test/cuda-samples/bin/x86_64/linux/release/inlinePTX_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleIPC"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUBLAS"
# "./test/cuda-samples/bin/x86_64/linux/release/jacobiCudaGraphs"
# "./test/cuda-samples/bin/x86_64/linux/release/watershedSegmentationNPP"
# "./test/cuda-samples/bin/x86_64/linux/release/streamOrderedAllocation"
# "./test/cuda-samples/bin/x86_64/linux/release/streamOrderedAllocationP2P"
# "./test/cuda-samples/bin/x86_64/linux/release/newdelete"
# "./test/cuda-samples/bin/x86_64/linux/release/clock_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAssert_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/StreamPriorities"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleVoteIntrinsics"
# "./test/cuda-samples/bin/x86_64/linux/release/shfl_scan"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleMultiGPU"
# "./test/cuda-samples/bin/x86_64/linux/release/MonteCarloMultiGPU"
# "./test/cuda-samples/bin/x86_64/linux/release/dxtc"
# "./test/cuda-samples/bin/x86_64/linux/release/jitLto"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUFFT_2d_MGPU"
# "./test/cuda-samples/bin/x86_64/linux/release/libcuhook.so.1"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleTemplates"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleMultiCopy"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUBLASXT"
# "./test/cuda-samples/bin/x86_64/linux/release/quasirandomGenerator"
# "./test/cuda-samples/bin/x86_64/linux/release/vectorAddDrv"
# "./test/cuda-samples/bin/x86_64/linux/release/cdpQuadtree"
# "./test/cuda-samples/bin/x86_64/linux/release/reductionMultiBlockCG"
# "./test/cuda-samples/bin/x86_64/linux/release/simplePitchLinearTexture"
# "./test/cuda-samples/bin/x86_64/linux/release/cuSolverSp_LowlevelCholesky"
# "./test/cuda-samples/bin/x86_64/linux/release/reduction"
# "./test/cuda-samples/bin/x86_64/linux/release/cdpBezierTessellation"
# "./test/cuda-samples/bin/x86_64/linux/release/binomialOptions_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/warpAggregatedAtomicsCG"
# "./test/cuda-samples/bin/x86_64/linux/release/HSOpticalFlow"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleTexture"
# "./test/cuda-samples/bin/x86_64/linux/release/concurrentKernels"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAssert"
# "./test/cuda-samples/bin/x86_64/linux/release/MC_EstimatePiP"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUFFT_callback"
# "./test/cuda-samples/bin/x86_64/linux/release/BlackScholes"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleDrvRuntime"
# "./test/cuda-samples/bin/x86_64/linux/release/FDTD3d"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleTextureDrv"
# "./test/cuda-samples/bin/x86_64/linux/release/graphMemoryNodes"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCubemapTexture"
# "./test/cuda-samples/bin/x86_64/linux/release/matrixMul_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/memMapIPCDrv"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleTemplates_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/quasirandomGenerator_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/graphConditionalNodes"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAtomicIntrinsics_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/transpose"
# "./test/cuda-samples/bin/x86_64/linux/release/LargeKernelParameter"
# "./test/cuda-samples/bin/x86_64/linux/release/ptxjit"
# "./test/cuda-samples/bin/x86_64/linux/release/convolutionSeparable"
# "./test/cuda-samples/bin/x86_64/linux/release/cuSolverSp_LowlevelQR"
# "./test/cuda-samples/bin/x86_64/linux/release/cppIntegration"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradientMultiBlockCG"
# "./test/cuda-samples/bin/x86_64/linux/release/convolutionTexture"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleVoteIntrinsics_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/MC_EstimatePiInlineQ"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCudaGraphs"
# "./test/cuda-samples/bin/x86_64/linux/release/MC_EstimatePiQ"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleSurfaceWrite"
# "./test/cuda-samples/bin/x86_64/linux/release/scalarProd"
# "./test/cuda-samples/bin/x86_64/linux/release/cudaCompressibleMemory"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleZeroCopy"
# "./test/cuda-samples/bin/x86_64/linux/release/cdpSimpleQuicksort"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradientUM"
# "./test/cuda-samples/bin/x86_64/linux/release/histogram"
# "./test/cuda-samples/bin/x86_64/linux/release/matrixMulDynlinkJIT"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleStreams"
# "./test/cuda-samples/bin/x86_64/linux/release/UnifiedMemoryStreams"
# "./test/cuda-samples/bin/x86_64/linux/release/immaTensorCoreGemm"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleOccupancy"
# "./test/cuda-samples/bin/x86_64/linux/release/binomialOptions"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradientCudaGraphs"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleSeparateCompilation"
# "./test/cuda-samples/bin/x86_64/linux/release/clock"
# "./test/cuda-samples/bin/x86_64/linux/release/bf16TensorCoreGemm"
# "./test/cuda-samples/bin/x86_64/linux/release/segmentationTreeThrust"
# "./test/cuda-samples/bin/x86_64/linux/release/tf32TensorCoreGemm"
# "./test/cuda-samples/bin/x86_64/linux/release/deviceQueryDrv"
# "./test/cuda-samples/bin/x86_64/linux/release/matrixMul"
# "./test/cuda-samples/bin/x86_64/linux/release/stereoDisparity"
# "./test/cuda-samples/bin/x86_64/linux/release/deviceQuery"
# "./test/cuda-samples/bin/x86_64/linux/release/matrixMulDrv"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleHyperQ"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUFFT"
# "./test/cuda-samples/bin/x86_64/linux/release/cdpAdvancedQuicksort"
# "./test/cuda-samples/bin/x86_64/linux/release/systemWideAtomics"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradient"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCUFFT_MGPU"
# "./test/cuda-samples/bin/x86_64/linux/release/bandwidthTest"
# "./test/cuda-samples/bin/x86_64/linux/release/nvJPEG_encoder"
# "./test/cuda-samples/bin/x86_64/linux/release/conjugateGradientPrecond"
# "./test/cuda-samples/bin/x86_64/linux/release/BlackScholes_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/vectorAdd_nvrtc"
# "./test/cuda-samples/bin/x86_64/linux/release/cuSolverRf"
# "./test/cuda-samples/bin/x86_64/linux/release/dmmaTensorCoreGemm"
# "./test/cuda-samples/bin/x86_64/linux/release/lineOfSight"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleP2P"
# "./test/cuda-samples/bin/x86_64/linux/release/globalToShmemAsyncCopy"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleCooperativeGroups"
# "./test/cuda-samples/bin/x86_64/linux/release/template"
# "./test/cuda-samples/bin/x86_64/linux/release/simpleAWBarrier"
# "./test/cuda-samples/bin/x86_64/linux/release/interval"
# "./test/cuda-samples/bin/x86_64/linux/release/graphMemoryFootprint"
)

for test in "${compliance_tests[@]}"; do
cd "$(dirname "$test")"

# Run the script with a timeout and suppress stdout/stderr
OUTPUT=$(LD_PRELOAD="$libscuda_path" ./$(basename "$test") 2>&1 | tr -d '\0')
RET_CODE=$?

if [[ $RET_CODE -ne 0 ]]; then
# Print the output and error message
echo "Error executing $test:"
echo "$OUTPUT"
echo "$ERROR_MSG"
else
ansi_format "pass" "$test"
fi

cd - > /dev/null
done
}

build_tests() {
Expand Down
36 changes: 0 additions & 36 deletions test-compliance.sh

This file was deleted.

0 comments on commit 316ec50

Please sign in to comment.