From fbe93473b4dc5c31f8906bb82569f805536eb170 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 10 Jan 2023 17:34:12 -0600 Subject: [PATCH 1/2] Add cuda-sanitizer-api. --- conda/environments/all_cuda-118_arch-x86_64.yaml | 1 + dependencies.yaml | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 1bcb1978373..133b98902f4 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -16,6 +16,7 @@ dependencies: - cmake>=3.23.1,!=3.25.0 - cubinlinker - cuda-python>=11.7.1,<12.0 +- cuda-sanitizer-api=11.8.86 - cudatoolkit=11.8 - cupy>=9.5.0,<12.0.0a0 - cxx-compiler diff --git a/dependencies.yaml b/dependencies.yaml index 8790853fbb3..1284250459d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -13,12 +13,14 @@ files: - notebooks - py_version - run + - test_cpp - test_python test_cpp: output: none includes: - cudatoolkit - libidentify_stream_usage_build + - test_cpp test_python: output: none includes: @@ -265,6 +267,15 @@ dependencies: arch: aarch64 packages: - cupy-cuda11x -f https://pip.cupy.dev/aarch64 # TODO: Verify that this works. + test_cpp: + specific: + - output_types: conda + matrices: + - matrix: + cuda: "11.8" + packages: + # Needed for compute-sanitizer --tool memcheck + - cuda-sanitizer-api=11.8.86 test_java: common: - output_types: conda From 623a79386c517a6f72828781ca2f60bb2e955ad8 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 10 Jan 2023 17:37:09 -0600 Subject: [PATCH 2/2] Catch exit codes in compute sanitizer. --- ci/test_cpp.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 5c6461d0796..0bbc60437cc 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2022, NVIDIA CORPORATION. +# Copyright (c) 2022-2023, NVIDIA CORPORATION. set -euo pipefail @@ -93,6 +93,11 @@ if [[ "${RAPIDS_BUILD_TYPE}" == "nightly" ]]; then fi echo "Running gtest $test_name" ${COMPUTE_SANITIZER_CMD} ${gt} | tee "${RAPIDS_TESTS_DIR}${test_name}.cs.log" + exitcode=$? + if (( ${exitcode} != 0 )); then + SUITEERROR=${exitcode} + echo "FAILED: GTest ${gt}" + fi done unset GTEST_CUDF_RMM_MODE # TODO: test-results/*.cs.log are processed in gpuci