839b3b21d1
Change-Id: I7c602ca0109864aac9d18feb31ae90f2a0ef4d36
193 строки
8.4 KiB
CMake
193 строки
8.4 KiB
CMake
# Copyright (c) 2023 Advanced Micro Devices, Inc. All Rights Reserved.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
# THE SOFTWARE.
|
|
|
|
set(TEST_SRC
|
|
trig_funcs.cc
|
|
misc_funcs.cc
|
|
remainder_and_rounding_funcs.cc
|
|
single_precision_intrinsics.cc
|
|
double_precision_intrinsics.cc
|
|
integer_intrinsics.cc
|
|
root_funcs.cc
|
|
log_funcs.cc
|
|
special_funcs.cc
|
|
casting_double_funcs.cc
|
|
casting_float_funcs.cc
|
|
casting_int_funcs.cc
|
|
casting_half2int_funcs.cc
|
|
casting_int2half_funcs.cc
|
|
casting_half_float_funcs.cc
|
|
)
|
|
|
|
if(HIP_PLATFORM MATCHES "nvidia")
|
|
set(LINKER_LIBS nvrtc)
|
|
elseif(HIP_PLATFORM MATCHES "amd")
|
|
set(TEST_SRC ${TEST_SRC}
|
|
pow_funcs.cc
|
|
casting_half2_funcs.cc
|
|
half_precision_math.cc
|
|
half_precision_arithmetic.cc
|
|
half_precision_comparison.cc
|
|
)
|
|
set(LINKER_LIBS hiprtc)
|
|
endif()
|
|
|
|
find_package(Boost 1.70.0)
|
|
message(STATUS "Boost_FOUND: ${Boost_FOUND}")
|
|
if(Boost_FOUND)
|
|
hip_add_exe_to_target(NAME MathsTest
|
|
TEST_SRC ${TEST_SRC}
|
|
TEST_TARGET_NAME build_tests COMMON_SHARED_SRC ${COMMON_SHARED_SRC}
|
|
LINKER_LIBS ${LINKER_LIBS})
|
|
target_include_directories(MathsTest PRIVATE ${Boost_INCLUDE_DIRS})
|
|
else()
|
|
message(STATUS "Boost not found. Dependent math tests not enabled.")
|
|
endif()
|
|
|
|
if(UNIX)
|
|
file(GLOB NEGATIVE_TEST_SRC
|
|
"trig_single_precision_negative_kernels.cc"
|
|
"trig_double_precision_negative_kernels.cc"
|
|
"misc_negative_kernels.cc"
|
|
"math_remainder_negative_kernels.cc"
|
|
"math_rounding_negative_kernels.cc"
|
|
"single_precision_intrinsics_negative_kernels.cc"
|
|
"double_precision_intrinsics_negative_kernels.cc"
|
|
"integer_intrinsics_negative_kernels.cc"
|
|
"math_root_negative_kernels_1Dand2D.cc"
|
|
"math_root_negative_kernels_3Dand4D.cc"
|
|
"math_pow_negative_kernels.cc"
|
|
"math_log_negative_kernels.cc"
|
|
"math_special_func_kernels.cc"
|
|
"casting_double_negative_kernels.cc"
|
|
"casting_float_negative_kernels.cc"
|
|
"casting_int_negative_kernels.cc"
|
|
"casting_half2_negative_kernels.cc"
|
|
"half_precision_math_negative_kernels.cc"
|
|
"half_precision_arithmetic_negative_kernels.cc"
|
|
"half_precision_comparison_negative_kernels.cc"
|
|
"casting_half2int_negative_kernels.cc"
|
|
"casting_int2half_negative_kernels.cc"
|
|
"casting_half_float_negative_kernels.cc"
|
|
)
|
|
|
|
file(COPY ${NEGATIVE_TEST_SRC} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src)
|
|
|
|
#if(HIP_PLATFORM MATCHES "nvidia")
|
|
# set(ERRORS_1 81)
|
|
# set(ERRORS_2 100)
|
|
#elseif(HIP_PLATFORM MATCHES "amd")
|
|
# set(ERRORS_1 76)
|
|
# set(ERRORS_2 168)
|
|
#endif()
|
|
#
|
|
#add_test(NAME Unit_Device_Single_Precision_Trig_Functions_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# trig_single_precision_negative_kernels.cc 66)
|
|
#add_test(NAME Unit_Device_Double_Precision_Trig_Functions_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# trig_double_precision_negative_kernels.cc 66)
|
|
#add_test(NAME Unit_Device_Misc_Functions_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# misc_negative_kernels.cc ${ERRORS_1})
|
|
#add_test(NAME Unit_Device_remainder_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_remainder_negative_kernels.cc 67)
|
|
#add_test(NAME Unit_Device_rounding_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_rounding_negative_kernels.cc 40)
|
|
#add_test(NAME Unit_Single_Precision_Intrinsics_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# single_precision_intrinsics_negative_kernels.cc 42)
|
|
#add_test(NAME Unit_Double_Precision_Intrinsics_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# double_precision_intrinsics_negative_kernels.cc 18)
|
|
#add_test(NAME Unit_Integer_Intrinsics_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# integer_intrinsics_negative_kernels.cc 20)
|
|
#add_test(NAME Unit_Device_root_1Dand2D_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_root_negative_kernels_1Dand2D.cc 68)
|
|
#add_test(NAME Unit_Device_root_3Dand4D_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_root_negative_kernels_3Dand4D.cc 56)
|
|
#add_test(NAME Unit_Device_pow_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_pow_negative_kernels.cc 76)
|
|
#add_test(NAME Unit_Device_log_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_log_negative_kernels.cc 24)
|
|
#add_test(NAME Unit_Device_special_funcs_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# math_special_func_kernels.cc 76)
|
|
#add_test(NAME Unit_Device_casting_double_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_double_negative_kernels.cc 69)
|
|
#add_test(NAME Unit_Device_casting_float_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_float_negative_kernels.cc 54)
|
|
#add_test(NAME Unit_Device_casting_int_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_int_negative_kernels.cc 92)
|
|
#add_test(NAME Unit_Device_casting_half2_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_half2_negative_kernels.cc 53)
|
|
#add_test(NAME Unit_Half_Precision_Math_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# half_precision_math_negative_kernels.cc 60)
|
|
#add_test(NAME Unit_Half_Precision_Arithmetic_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# half_precision_arithmetic_negative_kernels.cc 88)
|
|
#add_test(NAME Unit_Half_Precision_Comparison_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# half_precision_comparison_negative_kernels.cc ${ERRORS_2})
|
|
#add_test(NAME Unit_Device_casting_half2int_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_half2int_negative_kernels.cc 78)
|
|
#add_test(NAME Unit_Device_casting_int2half_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_int2half_negative_kernels.cc 78)
|
|
#add_test(NAME Unit_Device_casting_half_float_Negative
|
|
# COMMAND ${Python3_EXECUTABLE} ../compileAndCaptureOutput.py
|
|
# ./src ${HIP_PLATFORM} ${HIP_PATH}
|
|
# casting_half_float_negative_kernels.cc 18)
|
|
endif() |