9c6ee729d6
GitOrigin-RevId: 6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222
124 lines
4.7 KiB
Diff
124 lines
4.7 KiB
Diff
diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
|
|
index 3a16304..606b711 100644
|
|
--- a/library/src/CMakeLists.txt
|
|
+++ b/library/src/CMakeLists.txt
|
|
@@ -250,12 +250,12 @@ foreach( target
|
|
|
|
endforeach()
|
|
|
|
-add_executable( rocfft_aot_helper
|
|
+add_executable( rocfft_aot_helper EXCLUDE_FROM_ALL
|
|
rocfft_aot_helper.cpp
|
|
rocfft_stub.cpp
|
|
)
|
|
|
|
-add_executable( rocfft_config_search
|
|
+add_executable( rocfft_config_search EXCLUDE_FROM_ALL
|
|
rocfft_config_search.cpp
|
|
rocfft_stub.cpp
|
|
)
|
|
@@ -279,10 +279,10 @@ endif()
|
|
|
|
target_link_libraries( rocfft PRIVATE ${ROCFFT_DEVICE_LINK_LIBS} )
|
|
|
|
-target_link_libraries( rocfft PRIVATE rocfft-device-0 )
|
|
-target_link_libraries( rocfft PRIVATE rocfft-device-1 )
|
|
-target_link_libraries( rocfft PRIVATE rocfft-device-2 )
|
|
-target_link_libraries( rocfft PRIVATE rocfft-device-3 )
|
|
+foreach( sub ${AMDGPU_TARGETS} )
|
|
+ target_link_libraries( rocfft PRIVATE -lrocfft-device-${sub} )
|
|
+endforeach()
|
|
+
|
|
foreach( target rocfft rocfft_aot_helper rocfft_config_search )
|
|
# RTC uses dladdr to find the RTC helper program
|
|
if( NOT WIN32 )
|
|
@@ -347,7 +347,7 @@ add_custom_command(
|
|
DEPENDS rocfft_aot_helper rocfft_rtc_helper
|
|
COMMENT "Compile kernels into shipped cache file"
|
|
)
|
|
-add_custom_target( rocfft_kernel_cache_target ALL
|
|
+add_custom_target( rocfft_kernel_cache_target
|
|
DEPENDS rocfft_kernel_cache.db
|
|
VERBATIM
|
|
)
|
|
@@ -392,7 +392,8 @@ else()
|
|
endif()
|
|
rocm_install(FILES ${ROCFFT_KERNEL_CACHE_PATH}
|
|
DESTINATION "${ROCFFT_KERNEL_CACHE_INSTALL_DIR}"
|
|
- COMPONENT runtime
|
|
+ COMPONENT kernel_cache
|
|
+ EXCLUDE_FROM_ALL
|
|
)
|
|
|
|
# PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
|
|
diff --git a/library/src/device/CMakeLists.txt b/library/src/device/CMakeLists.txt
|
|
index 9f7b85f..73a8ec9 100644
|
|
--- a/library/src/device/CMakeLists.txt
|
|
+++ b/library/src/device/CMakeLists.txt
|
|
@@ -170,11 +170,11 @@ list( SORT rocfft_device_source )
|
|
# functions callable by rocFFT and depends on amdhip64, and another
|
|
# one usable by AOT RTC that contains no device code
|
|
list( FILTER rocfft_device_source EXCLUDE REGEX function_pool.cpp )
|
|
-add_library( rocfft-function-pool OBJECT
|
|
+add_library( rocfft-function-pool OBJECT EXCLUDE_FROM_ALL
|
|
function_pool.cpp
|
|
)
|
|
target_compile_definitions( rocfft-function-pool PRIVATE FUNCTION_POOL_STANDALONE_BODY= )
|
|
-add_library( rocfft-function-pool-standalone OBJECT
|
|
+add_library( rocfft-function-pool-standalone OBJECT EXCLUDE_FROM_ALL
|
|
function_pool.cpp
|
|
)
|
|
target_compile_definitions( rocfft-function-pool-standalone PRIVATE FUNCTION_POOL_STANDALONE_BODY={} )
|
|
@@ -193,26 +193,15 @@ foreach( pool rocfft-function-pool rocfft-function-pool-standalone )
|
|
add_dependencies(${pool} gen_headers_target)
|
|
endforeach()
|
|
|
|
-list( LENGTH rocfft_device_source rocfft_device_source_len )
|
|
-math(EXPR split_len "${rocfft_device_source_len} / 4")
|
|
-math(EXPR split_idx_2 "${rocfft_device_source_len} / 4 * 2")
|
|
-math(EXPR split_idx_3 "${rocfft_device_source_len} / 4 * 3")
|
|
-
|
|
-list( SUBLIST rocfft_device_source 0 ${split_len} rocfft_device_source_0 )
|
|
-list( SUBLIST rocfft_device_source ${split_len} ${split_len} rocfft_device_source_1 )
|
|
-list( SUBLIST rocfft_device_source ${split_idx_2} ${split_len} rocfft_device_source_2 )
|
|
-list( SUBLIST rocfft_device_source ${split_idx_3} -1 rocfft_device_source_3 )
|
|
-
|
|
-foreach( sub RANGE 3 )
|
|
- set( rocfft_device_source_var rocfft_device_source_${sub} )
|
|
+foreach( sub ${AMDGPU_TARGETS} )
|
|
if(NOT SINGLELIB)
|
|
- add_library( rocfft-device-${sub}
|
|
- ${${rocfft_device_source_var}} )
|
|
+ add_library( rocfft-device-${sub} EXCLUDE_FROM_ALL
|
|
+ ${rocfft_device_source} )
|
|
else()
|
|
# Compile the device lib as a static library, which is then linked
|
|
# into librocfft.so Useful for testing purposes.
|
|
- add_library( rocfft-device-${sub} STATIC
|
|
- ${${rocfft_device_source_var}} )
|
|
+ add_library( rocfft-device-${sub} STATIC EXCLUDE_FROM_ALL
|
|
+ ${rocfft_device_source} )
|
|
|
|
# if we're building singlelib, we don't want to export any of the
|
|
# device library symbols to the main library
|
|
@@ -241,9 +230,7 @@ foreach( sub RANGE 3 )
|
|
# Set AMD GPU architecture options
|
|
|
|
# Enable compilation of desired architectures
|
|
- foreach( target ${AMDGPU_TARGETS} )
|
|
- target_compile_options( rocfft-device-${sub} PRIVATE --offload-arch=${target} )
|
|
- endforeach( )
|
|
+ target_compile_options( rocfft-device-${sub} PRIVATE --offload-arch=${sub} )
|
|
|
|
target_include_directories( rocfft-device-${sub}
|
|
PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
|
@@ -268,9 +255,4 @@ foreach( sub RANGE 3 )
|
|
if( NOT BUILD_SHARED_LIBS )
|
|
set_target_properties( rocfft-device-${sub} PROPERTIES PREFIX "lib" )
|
|
endif( )
|
|
-
|
|
- rocm_install_targets(
|
|
- TARGETS
|
|
- rocfft-device-${sub}
|
|
- )
|
|
endforeach()
|