| # Math functions not yet available in the libc project, or those not yet tuned |
| # for GPU workloads are provided as wrappers over vendor libraries. If we find |
| # them ahead of time we will import them statically. Otherwise, we will keep |
| # them as external references and expect them to be resolved by the user when |
| # they compile. In the future,we will use implementations from the 'libc' |
| # project and not provide these wrappers. |
| find_package(AMDDeviceLibs QUIET HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm) |
| if(AMDDeviceLibs_FOUND) |
| message(STATUS "Found the ROCm device library. Implementations falling back " |
| "to the vendor libraries will be resolved statically.") |
| get_target_property(ocml_path ocml IMPORTED_LOCATION) |
| set(bitcode_link_flags |
| "SHELL:-Xclang -mlink-builtin-bitcode -Xclang ${ocml_path}") |
| else() |
| message(STATUS "Could not find the ROCm device library. Unimplemented " |
| "functions will be an external reference to the vendor libraries.") |
| endif() |
| |
| add_entrypoint_object( |
| ceil |
| SRCS |
| ceil.cpp |
| HDRS |
| ../ceil.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| ceilf |
| SRCS |
| ceilf.cpp |
| HDRS |
| ../ceilf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| copysign |
| SRCS |
| copysign.cpp |
| HDRS |
| ../copysign.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| copysignf |
| SRCS |
| copysignf.cpp |
| HDRS |
| ../copysignf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fabs |
| SRCS |
| fabs.cpp |
| HDRS |
| ../fabs.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fabsf |
| SRCS |
| fabsf.cpp |
| HDRS |
| ../fabsf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| floor |
| SRCS |
| floor.cpp |
| HDRS |
| ../floor.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| floorf |
| SRCS |
| floorf.cpp |
| HDRS |
| ../floorf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fma |
| SRCS |
| fma.cpp |
| HDRS |
| ../fma.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmaf |
| SRCS |
| fmaf.cpp |
| HDRS |
| ../fmaf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmax |
| SRCS |
| fmax.cpp |
| HDRS |
| ../fmax.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmaxf |
| SRCS |
| fmaxf.cpp |
| HDRS |
| ../fmaxf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmin |
| SRCS |
| fmin.cpp |
| HDRS |
| ../fmin.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fminf |
| SRCS |
| fminf.cpp |
| HDRS |
| ../fminf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmod |
| SRCS |
| fmod.cpp |
| HDRS |
| ../fmod.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| fmodf |
| SRCS |
| fmodf.cpp |
| HDRS |
| ../fmodf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| nearbyint |
| SRCS |
| nearbyint.cpp |
| HDRS |
| ../nearbyint.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| nearbyintf |
| SRCS |
| nearbyintf.cpp |
| HDRS |
| ../nearbyintf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| remainder |
| SRCS |
| remainder.cpp |
| HDRS |
| ../remainder.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| remainderf |
| SRCS |
| remainderf.cpp |
| HDRS |
| ../remainderf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| rint |
| SRCS |
| rint.cpp |
| HDRS |
| ../rint.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| rintf |
| SRCS |
| rintf.cpp |
| HDRS |
| ../rintf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| round |
| SRCS |
| round.cpp |
| HDRS |
| ../round.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| sqrt |
| SRCS |
| sqrt.cpp |
| HDRS |
| ../sqrt.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| sqrtf |
| SRCS |
| sqrtf.cpp |
| HDRS |
| ../sqrtf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| trunc |
| SRCS |
| trunc.cpp |
| HDRS |
| ../trunc.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| truncf |
| SRCS |
| truncf.cpp |
| HDRS |
| ../truncf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| frexp |
| SRCS |
| frexp.cpp |
| HDRS |
| ../frexp.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| frexpf |
| SRCS |
| frexpf.cpp |
| HDRS |
| ../frexpf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| scalbn |
| SRCS |
| scalbn.cpp |
| HDRS |
| ../scalbn.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| scalbnf |
| SRCS |
| scalbnf.cpp |
| HDRS |
| ../scalbnf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| ldexp |
| SRCS |
| ldexp.cpp |
| HDRS |
| ../ldexp.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| ldexpf |
| SRCS |
| ldexpf.cpp |
| HDRS |
| ../ldexpf.h |
| COMPILE_OPTIONS |
| -O2 |
| ) |
| |
| # The following functions currently are not implemented natively and borrow from |
| # existing implementations. This will be removed in the future. |
| add_entrypoint_object( |
| acos |
| SRCS |
| acos.cpp |
| HDRS |
| ../acos.h |
| VENDOR |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| ) |
| |
| add_entrypoint_object( |
| acosh |
| SRCS |
| acosh.cpp |
| HDRS |
| ../acosh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| asin |
| SRCS |
| asin.cpp |
| HDRS |
| ../asin.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| asinh |
| SRCS |
| asinh.cpp |
| HDRS |
| ../asinh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| atan |
| SRCS |
| atan.cpp |
| HDRS |
| ../atan.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| atanh |
| SRCS |
| atanh.cpp |
| HDRS |
| ../atanh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| cosh |
| SRCS |
| cosh.cpp |
| HDRS |
| ../cosh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| erf |
| SRCS |
| erf.cpp |
| HDRS |
| ../erf.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| powi |
| SRCS |
| powi.cpp |
| HDRS |
| ../powi.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| powif |
| SRCS |
| powif.cpp |
| HDRS |
| ../powif.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| sinh |
| SRCS |
| sinh.cpp |
| HDRS |
| ../sinh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| tanh |
| SRCS |
| tanh.cpp |
| HDRS |
| ../tanh.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| tgamma |
| SRCS |
| tgamma.cpp |
| HDRS |
| ../tgamma.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| tgammaf |
| SRCS |
| tgammaf.cpp |
| HDRS |
| ../tgammaf.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| lgamma |
| SRCS |
| lgamma.cpp |
| HDRS |
| ../lgamma.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |
| |
| add_entrypoint_object( |
| lgamma_r |
| SRCS |
| lgamma_r.cpp |
| HDRS |
| ../lgamma_r.h |
| COMPILE_OPTIONS |
| ${bitcode_link_flags} |
| -O2 |
| VENDOR |
| ) |