Files
rocm-systems/opencl/tests/ocltst/module/perf/CMakeLists.txt
T
Alex Xie 5f775b8b7f SWDEV-444098 remove "rocm-ocl-icd" package
This is the first step to remove rocm-ocl-icd.
We don't build amd icd after this commit.
We still need to remove header files usage in future steps.

Change-Id: Ic4ac5476180f9ef2ce87b62891c08b28d6c9bfd2
2024-08-07 11:29:41 -04:00

139 lines
3.8 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()
set_target_properties(oclperf PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/tests/ocltst)
target_compile_definitions(oclperf
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_COMPILE_DEFINITIONS>)
target_include_directories(oclperf
PRIVATE
$<TARGET_PROPERTY:Common,INTERFACE_INCLUDE_DIRECTORIES>)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../../cmake")
find_package(AMD_ICD)
find_library(AMD_ICD_LIBRARY OpenCL HINTS "${AMD_ICD_LIBRARY_DIR}")
target_link_libraries(oclperf PRIVATE ${AMD_ICD_LIBRARY})
if (NOT WIN32)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(oclperf PRIVATE Threads::Threads)
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 "OCL_ICD_FILENAMES=$<TARGET_FILE:amdocl>"
$<TARGET_FILE:ocltst> -p 0 -m $<TARGET_FILE:oclperf> -A oclperf.exclude
DEPENDS
ocltst oclperf amdocl
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
foreach(TEST ${TESTS})
add_custom_target(test.ocltst.oclperf.${TEST}
COMMAND
${CMAKE_COMMAND} -E env "OCL_ICD_FILENAMES=$<TARGET_FILE:amdocl>"
$<TARGET_FILE:ocltst> -p 0 -m $<TARGET_FILE:oclperf> -t ${TEST}
DEPENDS
ocltst oclperf amdocl
WORKING_DIRECTORY
${CMAKE_BINARY_DIR}/tests/ocltst
USES_TERMINAL)
endforeach()
INSTALL(TARGETS oclperf DESTINATION ${OCLTST_INSTALL_DIR} COMPONENT ocltst)
INSTALL(FILES oclperf.exclude DESTINATION ${OCLTST_INSTALL_DIR} COMPONENT ocltst)