gvisor.dev/gvisor@v0.0.0-20240520182842-f9d4d51c7e0f/images/gpu/cuda-tests/list_sample_tests.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2024 The gVisor Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  # This script outputs a sorted list of CUDA sample tests, one per line.
    18  
    19  set -euo pipefail
    20  
    21  (
    22    while IFS= read -r makefile_path; do
    23      dirname "$makefile_path"
    24    done < <(find /cuda-samples -type f -name Makefile) \
    25      | grep -vE '^/cuda-samples$' | grep -vE '/7_libNVVM'
    26  
    27    # cuda-samples/Samples/7_libNVVM is not structured like the other tests.
    28    # It is built with `cmake` and generates multiple test binaries.
    29    # The generated ones all follow the pattern of being named after their
    30    # parent directory name, so we look for that.
    31    pushd /cuda-samples/Samples/7_libNVVM &>/dev/null
    32      cmake . &>/dev/null
    33      make TARGET_ARCH="$(uname -m)" all &>/dev/null
    34    popd &>/dev/null
    35    while IFS= read -r dir_path; do
    36      if [[ -x "$dir_path/$(basename "$dir_path")" ]]; then
    37        echo "$dir_path"
    38      fi
    39    done < <(find /cuda-samples/Samples/7_libNVVM -type d) | sort | uniq
    40  ) | sed 's~/cuda-samples/Samples/~~' | sort