[test-suite] r338142 - [test-suite, CUDA] Filter out long-running redundant SIMD tests.
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 27 11:11:35 PDT 2018
Author: tra
Date: Fri Jul 27 11:11:34 2018
New Revision: 338142
URL: http://llvm.org/viewvc/llvm-project?rev=338142&view=rev
Log:
[test-suite, CUDA] Filter out long-running redundant SIMD tests.
Summary:
The tests do not depend on C++ library or C++ dialect.
We only need SIMD tests on CUDA-8.0 and 9.2. First one is to verify our
reference implementation against CUDA-provided one. The second one actually
tests clang-provided implementation of these functions.
Reviewers: jlebar
Differential Revision: https://reviews.llvm.org/D49889
Modified:
test-suite/trunk/External/CUDA/CMakeLists.txt
Modified: test-suite/trunk/External/CUDA/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/External/CUDA/CMakeLists.txt?rev=338142&r1=338141&r2=338142&view=diff
==============================================================================
--- test-suite/trunk/External/CUDA/CMakeLists.txt (original)
+++ test-suite/trunk/External/CUDA/CMakeLists.txt Fri Jul 27 11:11:34 2018
@@ -52,27 +52,33 @@ macro(cuda_glob Var)
set(${Var} ${FileList})
endmacro(cuda_glob)
-macro(create_one_local_test Name FileGlob)
- cuda_glob(_sources ${FileGlob})
- set(_executable ${Name}-${VariantSuffix})
- set(_executable_path ${CMAKE_CURRENT_BINARY_DIR}/${_executable})
- # Verify reference output if it exists.
- if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${Name}.reference_output)
- set(NO_REFERENCE_OUTPUT 1)
- set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${Name}.reference_output)
- llvm_test_traditional(${_executable})
- else()
- # otherwise just run the executable.
- llvm_test_run()
- endif()
- llvm_test_executable(${_executable} ${_sources})
- target_compile_options(${_executable} PUBLIC ${VariantCPPFLAGS})
- if(VariantLibs)
- target_link_libraries(${_executable} ${VariantLibs})
+macro(create_one_local_test_f Name FileGlob FilterRegex)
+ if (${VariantSuffix} MATCHES ${FilterRegex})
+ cuda_glob(_sources ${FileGlob})
+ set(_executable ${Name}-${VariantSuffix})
+ set(_executable_path ${CMAKE_CURRENT_BINARY_DIR}/${_executable})
+ # Verify reference output if it exists.
+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${Name}.reference_output)
+ set(NO_REFERENCE_OUTPUT 1)
+ set(REFERENCE_OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${Name}.reference_output)
+ llvm_test_traditional(${_executable})
+ else()
+ # otherwise just run the executable.
+ llvm_test_run()
+ endif()
+ llvm_test_executable(${_executable} ${_sources})
+ target_compile_options(${_executable} PUBLIC ${VariantCPPFLAGS})
+ if(VariantLibs)
+ target_link_libraries(${_executable} ${VariantLibs})
+ endif()
+ add_dependencies(cuda-tests-simple-${VariantSuffix} ${_executable})
+ # Local tests are presumed to be fast.
+ list(APPEND CUDA_SIMPLE_TEST_TARGETS ${_executable}.test)
endif()
- add_dependencies(cuda-tests-simple-${VariantSuffix} ${_executable})
- # Local tests are presumed to be fast.
- list(APPEND CUDA_SIMPLE_TEST_TARGETS ${_executable}.test)
+endmacro()
+
+macro(create_one_local_test Name FileGlob)
+ create_one_local_test_f(${Name} ${FileGlob} ".*")
endmacro()
# Create targets for CUDA tests that are part of the test suite.
@@ -87,7 +93,13 @@ macro(create_local_cuda_tests VariantSuf
create_one_local_test(empty empty.cu)
create_one_local_test(printf printf.cu)
create_one_local_test(future future.cu)
- create_one_local_test(simd simd.cu)
+ # We only need SIMD tests on CUDA-8.0 to verivy that our reference is correct
+ # and matches NVIDIA-provided one. and on CUDA-9.2 to verify that clang's
+ # implementation matches the reference. This test also happens to be the
+ # longest one, so by not running unnecessary instances we speed up cuda
+ # buildbot a lot.
+ create_one_local_test_f(simd simd.cu
+ "cuda-(8[.]0|9[.]2)-c[+][+]11-libc[+][+]")
endmacro()
macro(thrust_make_test_name TestName TestSourcePath)
More information about the llvm-commits
mailing list