@@ -28,6 +28,7 @@ set(XPU_XPTI_LIB_NAME "libxpti.so")
28
28
set (XPU_XBLAS_LIB_NAME "libxpu_blas.so" )
29
29
set (XPU_XFA_LIB_NAME "libxpu_flash_attention.so" )
30
30
set (XPU_XPUDNN_LIB_NAME "libxpu_dnn.so" )
31
+ set (XPU_FFT_LIB_NAME "libcufft.so" )
31
32
32
33
if (NOT DEFINED XPU_XHPC_BASE_DATE)
33
34
set (XPU_XHPC_BASE_DATE "dev/20250417" )
@@ -81,6 +82,11 @@ if(WITH_XPU_XRE5)
81
82
)
82
83
endif ()
83
84
85
+ if (WITH_XPU_FFT)
86
+ set (XPU_FFT_BASE_URL "https://paddle-org.bj.bcebos.com/paddlescience" )
87
+ set (XPU_FFT_DIR_NAME "xpufft" )
88
+ endif ()
89
+
84
90
if (WITH_AARCH64)
85
91
set (XPU_XRE_DIR_NAME "xre-kylin_aarch64" )
86
92
set (XPU_XCCL_DIR_NAME "" ) # TODO: xccl has no kylin output now.
@@ -130,6 +136,10 @@ if(WITH_XPTI)
130
136
set (XPU_XPTI_URL "${XPU_XPTI_BASE_URL} /${XPU_XPTI_DIR_NAME} .tar.gz" )
131
137
endif ()
132
138
139
+ if (WITH_XPU_FFT)
140
+ set (XPU_FFT_URL "${XPU_FFT_BASE_URL} /${XPU_FFT_DIR_NAME} .tar.gz" )
141
+ endif ()
142
+
133
143
set (XPU_XHPC_URL
134
144
"https://klx-sdk-release-public.su.bcebos.com/xhpc/${XPU_XHPC_BASE_DATE} /${XPU_XHPC_DIR_NAME} .tar.gz"
135
145
CACHE STRING "" FORCE)
@@ -154,6 +164,7 @@ set(XPU_CUDA_RT_LIB "${XPU_LIB_DIR}/${XPU_CUDA_RT_LIB_NAME}")
154
164
set (XPU_ML_LIB "${XPU_LIB_DIR} /${XPU_ML_LIB_NAME} " )
155
165
set (XPU_XFA_LIB "${XPU_LIB_DIR} /${XPU_XFA_LIB_NAME} " )
156
166
set (XPU_XPUDNN_LIB "${XPU_LIB_DIR} /${XPU_XPUDNN_LIB_NAME} " )
167
+ set (XPU_FFT_LIB "${XPU_LIB_DIR} /${XPU_FFT_LIB_NAME} " )
157
168
158
169
set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH} " "${XPU_INSTALL_DIR} /lib" )
159
170
@@ -205,6 +216,12 @@ if(DEFINED ENV{XPU_LIB_ROOT})
205
216
set (XFT_COMMAND
206
217
"${CMAKE_SOURCE_DIR} /tools/xpu/get_xft_dependence_from_custom_path.sh" )
207
218
endif ()
219
+
220
+ # FFT
221
+ if (DEFINED ENV{XPU_FFT_DIR_NAME})
222
+ set (XPU_FFT_URL "${XPU_LIB_ROOT} /$ENV{XPU_FFT_DIR_NAME} " )
223
+ set (XPU_FFT_DIR_NAME "$ENV{XPU_FFT_DIR_NAME} " )
224
+ endif ()
208
225
endif ()
209
226
210
227
if (WITH_XPU_XRE5)
@@ -216,8 +233,9 @@ if(WITH_XPU_XRE5)
216
233
DOWNLOAD_COMMAND
217
234
bash ${CMAKE_SOURCE_DIR} /tools/xpu/pack_paddle_dependence.sh
218
235
${XPU_XRE_URL} ${XPU_XRE_DIR_NAME} ${XPU_XHPC_URL} ${XPU_XHPC_DIR_NAME}
219
- ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} 1 && wget ${XPU_XFT_GET_DEPENCE_URL}
220
- && bash ${XFT_COMMAND} ${XPU_XFT_URL} ${XPU_XFT_DIR_NAME} && bash
236
+ ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} ${XPU_FFT_URL} ${XPU_FFT_DIR_NAME} 1
237
+ && wget ${XPU_XFT_GET_DEPENCE_URL} && bash ${XFT_COMMAND} ${XPU_XFT_URL}
238
+ ${XPU_XFT_DIR_NAME} && bash
221
239
${CMAKE_SOURCE_DIR} /tools/xpu/get_xpti_dependence.sh ${XPU_XPTI_URL}
222
240
${XPU_XPTI_DIR_NAME}
223
241
DOWNLOAD_NO_PROGRESS 1
@@ -231,7 +249,8 @@ if(WITH_XPU_XRE5)
231
249
BUILD_BYPRODUCTS ${XPU_RT_LIB}
232
250
BUILD_BYPRODUCTS ${XPU_CUDA_RT_LIB}
233
251
BUILD_BYPRODUCTS ${XPU_ML_LIB}
234
- BUILD_BYPRODUCTS ${XPU_BKCL_LIB} )
252
+ BUILD_BYPRODUCTS ${XPU_BKCL_LIB}
253
+ BUILD_BYPRODUCTS ${XPU_FFT_LIB} )
235
254
else ()
236
255
ExternalProject_Add(
237
256
${XPU_PROJECT}
@@ -241,8 +260,9 @@ else()
241
260
DOWNLOAD_COMMAND
242
261
bash ${CMAKE_SOURCE_DIR} /tools/xpu/pack_paddle_dependence.sh
243
262
${XPU_XRE_URL} ${XPU_XRE_DIR_NAME} ${XPU_XHPC_URL} ${XPU_XHPC_DIR_NAME}
244
- ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} 0 && wget ${XPU_XFT_GET_DEPENCE_URL}
245
- && bash get_xft_dependence.sh ${XPU_XFT_URL} ${XPU_XFT_DIR_NAME} && bash
263
+ ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} ${XPU_FFT_URL} ${XPU_FFT_DIR_NAME} 0
264
+ && wget ${XPU_XFT_GET_DEPENCE_URL} && bash get_xft_dependence.sh
265
+ ${XPU_XFT_URL} ${XPU_XFT_DIR_NAME} && bash
246
266
${CMAKE_SOURCE_DIR} /tools/xpu/get_xpti_dependence.sh ${XPU_XPTI_URL}
247
267
${XPU_XPTI_DIR_NAME}
248
268
DOWNLOAD_NO_PROGRESS 1
@@ -272,6 +292,16 @@ if(WITH_XPU_XFT)
272
292
target_link_libraries (xpulib ${XPU_XFT_LIB} )
273
293
endif ()
274
294
295
+ if (WITH_XPU_FFT)
296
+ message (STATUS "Compile with XPU FFT!" )
297
+ add_definitions (-DPADDLE_WITH_XPU_FFT)
298
+
299
+ set (XPU_FFT_INC_DIR "${XPU_INC_DIR} /fft" )
300
+ include_directories (${XPU_FFT_INC_DIR} )
301
+ set (XPU_FFT_LIB "${XPU_LIB_DIR} /${XPU_FFT_LIB_NAME} " )
302
+ target_link_libraries (xpulib ${XPU_FFT_LIB} )
303
+ endif ()
304
+
275
305
set (XPU_XHPC_INC_DIR "${XPU_INC_DIR} /xhpc" )
276
306
include_directories (${XPU_XHPC_INC_DIR} )
277
307
set (XPU_XRE_INC_DIR "${XPU_INC_DIR} /xre" )
0 commit comments