@@ -12,6 +12,54 @@ add_library(trans STATIC
1212if (ASCEND_SUPPORTS_REGISTER_PIN)
1313 target_compile_definitions (trans PRIVATE ASCEND_SUPPORTS_REGISTER_PIN=1 )
1414endif ()
15+ if (UCM_ENABLE_ASCEND_IO_AGGREGATION)
16+ find_library (ASCEND_RUNTIME_LIBRARY runtime
17+ PATHS
18+ "${ASCEND_ROOT} /lib64"
19+ "${ASCEND_ROOT} /lib"
20+ "${ASCEND_ROOT} /runtime/lib64"
21+ "${ASCEND_ROOT} /runtime/lib"
22+ "${ASCEND_ROOT} /aarch64-linux/lib64"
23+ "${ASCEND_ROOT} /aarch64-linux/lib"
24+ NO_DEFAULT_PATH
25+ )
26+ find_path (ASCEND_FFTS_INCLUDE_DIR
27+ NAMES runtime/rt_ffts_plus.h rt_external_ffts.h
28+ PATHS
29+ "${ASCEND_ROOT} /include"
30+ "${ASCEND_ROOT} /pkg_inc"
31+ "${ASCEND_ROOT} /pkg_inc/runtime"
32+ "${ASCEND_ROOT} /aarch64-linux/pkg_inc"
33+ "${ASCEND_ROOT} /aarch64-linux/pkg_inc/runtime"
34+ NO_DEFAULT_PATH
35+ )
36+ if (NOT ASCEND_RUNTIME_LIBRARY OR NOT ASCEND_FFTS_INCLUDE_DIR)
37+ message (FATAL_ERROR "UCM_ENABLE_ASCEND_IO_AGGREGATION requires FFTS headers and libruntime." )
38+ endif ()
39+ get_filename_component (ASCEND_FFTS_INCLUDE_PARENT "${ASCEND_FFTS_INCLUDE_DIR} " DIRECTORY )
40+ set (ASCEND_FFTS_INCLUDE_DIRS "${ASCEND_FFTS_INCLUDE_DIR} " )
41+ if (ASCEND_FFTS_INCLUDE_DIR MATCHES "/runtime$" AND EXISTS "${ASCEND_FFTS_INCLUDE_PARENT} " )
42+ list (APPEND ASCEND_FFTS_INCLUDE_DIRS "${ASCEND_FFTS_INCLUDE_PARENT} " )
43+ endif ()
44+ list (APPEND ASCEND_FFTS_INCLUDE_DIRS
45+ "${ASCEND_ROOT} /pkg_inc"
46+ "${ASCEND_ROOT} /pkg_inc/toolchain"
47+ "${ASCEND_ROOT} /pkg_inc/profiling"
48+ "${ASCEND_ROOT} /aarch64-linux/pkg_inc"
49+ "${ASCEND_ROOT} /aarch64-linux/pkg_inc/toolchain"
50+ "${ASCEND_ROOT} /aarch64-linux/pkg_inc/profiling"
51+ )
52+ list (REMOVE_DUPLICATES ASCEND_FFTS_INCLUDE_DIRS)
53+ target_sources (trans PRIVATE
54+ ascend_shard_io_aggregator.cc
55+ ffts_d2d_dispatcher.cc
56+ )
57+ target_include_directories (trans PUBLIC ${ASCEND_FFTS_INCLUDE_DIRS} )
58+ target_compile_definitions (trans PUBLIC UCM_ENABLE_ASCEND_IO_AGGREGATION=1 )
59+ target_link_libraries (trans PUBLIC ${ASCEND_RUNTIME_LIBRARY} )
60+ else ()
61+ target_compile_definitions (trans PUBLIC UCM_ENABLE_ASCEND_IO_AGGREGATION=0 )
62+ endif ()
1563target_link_libraries (trans PUBLIC
1664 fmt
1765 Ascend::ascendcl
0 commit comments