Files
rocm-systems/opencl/tests/ocltst/module/perf/CMakeLists.txt
T
Vlad Sytchenko 3be244fb34 Add ability to run each ocltst test individually
Now one can run a single test by invoking `make test.ocltst.${module_name}.${test_name}`. Invoking `make test.ocltst.${module_name}` will still run all of the modules tests.

Change-Id: I31b384576cb09800e580e41c12528a276899b6c2
Signed-off-by: Vlad Sytchenko <Vladislav.Sytchenko@amd.com>
2020-07-06 15:56:46 -04:00

142 lines
3.6 KiB
CMake

set(TESTS
OCLPerf3DImageWriteSpeed
OCLPerfAES256
OCLPerfAtomicSpeed20
OCLPerfAtomicSpeed
OCLPerfBufferCopyOverhead
OCLPerfBufferCopySpeed
OCLPerfBufferReadSpeed
OCLPerfBufferWriteSpeed
OCLPerfCommandQueue
OCLPerfConcurrency
OCLPerfCPUMemSpeed
OCLPerfDeviceConcurrency
OCLPerfDeviceEnqueue
OCLPerfDeviceEnqueue2
OCLPerfDeviceEnqueueEvent
OCLPerfDeviceEnqueueSier
OCLPerfDevMemReadSpeed
OCLPerfDevMemWriteSpeed
OCLPerfDispatchSpeed
OCLPerfDoubleDMA
OCLPerfDoubleDMASeq
OCLPerfFillBuffer
OCLPerfFillImage
OCLPerfFlush
OCLPerfGenericBandwidth
OCLPerfGenoilSiaMiner
OCLPerfImageCopyCorners
OCLPerfImageCopySpeed
OCLPerfImageCreate
OCLPerfImageMapUnmap
OCLPerfImageReadSpeed
OCLPerfImageReadsRGBA
OCLPerfImageReadWrite
OCLPerfImageSampleRate
OCLPerfImageWriteSpeed
OCLPerfKernelArguments
OCLPerfKernelThroughput
OCLPerfLDSLatency
OCLPerfLDSReadSpeed
OCLPerfMandelbrot
OCLPerfMapBufferReadSpeed
OCLPerfMapBufferWriteSpeed
OCLPerfMapImageReadSpeed
OCLPerfMapImageWriteSpeed
OCLPerfMatrixTranspose
OCLPerfMemCombine
OCLPerfMemCreate
OCLPerfMemLatency
OCLPerfPinnedBufferReadSpeed
OCLPerfPinnedBufferWriteSpeed
OCLPerfPipeCopySpeed
OCLPerfProgramGlobalRead
OCLPerfProgramGlobalWrite
OCLPerfSampleRate
OCLPerfScalarReplArrayElem
OCLPerfSdiP2PCopy
OCLPerfSHA256
OCLPerfSVMAlloc
OCLPerfSVMKernelArguments
OCLPerfSVMMap
OCLPerfSVMMemcpy
OCLPerfSVMMemFill
OCLPerfSVMSampleRate
OCLPerfTextureMemLatency
OCLPerfUAVReadSpeed
OCLPerfUAVReadSpeedHostMem
OCLPerfUAVWriteSpeedHostMem
OCLPerfUncoalescedRead
OCLPerfVerticalFetch
)
add_library(oclperf SHARED
TestList.cpp
$<TARGET_OBJECTS:Common>)
foreach(TEST ${TESTS})
target_sources(oclperf
PRIVATE
${TEST}.cpp)
endforeach()
if(OPENGL_FOUND AND GLEW_FOUND)
target_sources(oclperf
PRIVATE
OCLPerfSepia.cpp)
endif()
set_target_properties(oclperf PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst
EXCLUDE_FROM_ALL TRUE)
target_compile_definitions(oclperf
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_COMPILE_DEFINITIONS>)
target_include_directories(oclperf
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_INCLUDE_DIRECTORIES>)
target_link_libraries(oclperf
PRIVATE
OpenCL)
if(OPENGL_FOUND AND GLEW_FOUND)
target_link_libraries(oclperf
PRIVATE
${GLEW_LIBRARIES}
${OPENGL_LIBRARIES})
endif()
add_custom_command(
TARGET oclperf POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/oclperf.exclude
${CMAKE_BINARY_DIR}/tests/ocltst/oclperf.exclude)
add_custom_target(test.ocltst.oclperf
COMMAND
${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}"
$<TARGET_FILE:ocltst> -m $<TARGET_FILE:oclperf> -A oclperf.exclude
DEPENDS
ocltst oclperf amdocl64
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
foreach(TEST ${TESTS})
add_custom_target(test.ocltst.oclperf.${TEST}
COMMAND
${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}"
$<TARGET_FILE:ocltst> -m $<TARGET_FILE:oclperf> -t ${TEST}
DEPENDS
ocltst oclperf amdocl64
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
endforeach()