3be244fb34
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>
142 lines
3.6 KiB
CMake
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()
|