@@ -28,6 +28,7 @@ set(XPU_XPTI_LIB_NAME "libxpti.so")
2828set (XPU_XBLAS_LIB_NAME "libxpu_blas.so" )
2929set (XPU_XFA_LIB_NAME "libxpu_flash_attention.so" )
3030set (XPU_XPUDNN_LIB_NAME "libxpu_dnn.so" )
31+ set (XPU_FFT_LIB_NAME "libcufft.so" )
3132
3233if (NOT DEFINED XPU_XHPC_BASE_DATE)
3334 set (XPU_XHPC_BASE_DATE "dev/20250417" )
@@ -51,6 +52,10 @@ else()
5152 set (XPU_XPTI_BASE_VERSION "0.0.1" )
5253endif ()
5354
55+ if (NOT DEFINED XPU_FFT_BASE_DATE)
56+ set (XPU_FFT_BASE_DATE "20250425" )
57+ endif ()
58+
5459set (XPU_XRE_BASE_URL
5560 "https://klx-sdk-release-public.su.bcebos.com/xre/release/${XPU_XRE_BASE_VERSION} "
5661)
@@ -81,6 +86,13 @@ if(WITH_XPU_XRE5)
8186 )
8287endif ()
8388
89+ if (WITH_XPU_FFT)
90+ set (XPU_FFT_BASE_URL
91+ "https://klx-sdk-release-public.su.bcebos.com/xpufft/kl3/${XPU_FFT_BASE_DATE} "
92+ )
93+ set (XPU_FFT_DIR_NAME "xpufft_ubuntu2004-x86_64" )
94+ endif ()
95+
8496if (WITH_AARCH64)
8597 set (XPU_XRE_DIR_NAME "xre-kylin_aarch64" )
8698 set (XPU_XCCL_DIR_NAME "" ) # TODO: xccl has no kylin output now.
@@ -130,6 +142,10 @@ if(WITH_XPTI)
130142 set (XPU_XPTI_URL "${XPU_XPTI_BASE_URL} /${XPU_XPTI_DIR_NAME} .tar.gz" )
131143endif ()
132144
145+ if (WITH_XPU_FFT)
146+ set (XPU_FFT_URL "${XPU_FFT_BASE_URL} /${XPU_FFT_DIR_NAME} .tar.gz" )
147+ endif ()
148+
133149set (XPU_XHPC_URL
134150 "https://klx-sdk-release-public.su.bcebos.com/xhpc/${XPU_XHPC_BASE_DATE} /${XPU_XHPC_DIR_NAME} .tar.gz"
135151 CACHE STRING "" FORCE)
@@ -205,6 +221,12 @@ if(DEFINED ENV{XPU_LIB_ROOT})
205221 set (XFT_COMMAND
206222 "${CMAKE_SOURCE_DIR} /tools/xpu/get_xft_dependence_from_custom_path.sh" )
207223 endif ()
224+
225+ # FFT
226+ if (DEFINED ENV{XPU_FFT_DIR_NAME})
227+ set (XPU_FFT_URL "${XPU_LIB_ROOT} /$ENV{XPU_FFT_DIR_NAME} " )
228+ set (XPU_FFT_DIR_NAME "$ENV{XPU_FFT_DIR_NAME} " )
229+ endif ()
208230endif ()
209231
210232if (WITH_XPU_XRE5)
@@ -219,7 +241,9 @@ if(WITH_XPU_XRE5)
219241 ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} 1 && wget ${XPU_XFT_GET_DEPENCE_URL}
220242 && bash ${XFT_COMMAND} ${XPU_XFT_URL} ${XPU_XFT_DIR_NAME} && bash
221243 ${CMAKE_SOURCE_DIR} /tools/xpu/get_xpti_dependence.sh ${XPU_XPTI_URL}
222- ${XPU_XPTI_DIR_NAME}
244+ ${XPU_XPTI_DIR_NAME} && bash
245+ ${CMAKE_SOURCE_DIR} /tools/xpu/get_xpufft_dependence.sh ${XPU_FFT_URL}
246+ ${XPU_FFT_DIR_NAME}
223247 DOWNLOAD_NO_PROGRESS 1
224248 UPDATE_COMMAND ""
225249 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${XPU_INSTALL_ROOT}
@@ -244,7 +268,9 @@ else()
244268 ${XPU_XCCL_URL} ${XPU_XCCL_DIR_NAME} 0 && wget ${XPU_XFT_GET_DEPENCE_URL}
245269 && bash get_xft_dependence.sh ${XPU_XFT_URL} ${XPU_XFT_DIR_NAME} && bash
246270 ${CMAKE_SOURCE_DIR} /tools/xpu/get_xpti_dependence.sh ${XPU_XPTI_URL}
247- ${XPU_XPTI_DIR_NAME}
271+ ${XPU_XPTI_DIR_NAME} && bash
272+ ${CMAKE_SOURCE_DIR} /tools/xpu/get_xpufft_dependence.sh ${XPU_FFT_URL}
273+ ${XPU_FFT_DIR_NAME}
248274 DOWNLOAD_NO_PROGRESS 1
249275 UPDATE_COMMAND ""
250276 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${XPU_INSTALL_ROOT}
@@ -272,6 +298,16 @@ if(WITH_XPU_XFT)
272298 target_link_libraries (xpulib ${XPU_XFT_LIB} )
273299endif ()
274300
301+ if (WITH_XPU_FFT)
302+ message (STATUS "Compile with XPU FFT!" )
303+ add_definitions (-DPADDLE_WITH_XPU_FFT)
304+
305+ set (XPU_FFT_INC_DIR "${XPU_INC_DIR} /fft" )
306+ include_directories (${XPU_FFT_INC_DIR} )
307+ set (XPU_FFT_LIB "${XPU_LIB_DIR} /${XPU_FFT_LIB_NAME} " )
308+ target_link_libraries (xpulib ${XPU_FFT_LIB} )
309+ endif ()
310+
275311set (XPU_XHPC_INC_DIR "${XPU_INC_DIR} /xhpc" )
276312include_directories (${XPU_XHPC_INC_DIR} )
277313set (XPU_XRE_INC_DIR "${XPU_INC_DIR} /xre" )
0 commit comments