diff --git a/cmake/external/flashattn.cmake b/cmake/external/flashattn.cmake index 8600c927c3f5b3..6aec251be0215b 100644 --- a/cmake/external/flashattn.cmake +++ b/cmake/external/flashattn.cmake @@ -147,6 +147,19 @@ else() endif() set(FLASHATTN_CMAKE_CUDA_FLAGS "-Xfatbin -compress-all") + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER_EQUAL 15.0) + # GCC 15 diagnoses template-body lookup failures in the vendored CUTLASS + # v2.9.0 matrix.h before the affected helpers are instantiated. Keep this + # warning local to FlashAttention until CUTLASS is upgraded or patched. + if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") + set(FLASHATTN_CMAKE_CUDA_FLAGS + "${FLASHATTN_CMAKE_CUDA_FLAGS} -Xcompiler=-Wno-template-body") + else() + set(FLASHATTN_CMAKE_CUDA_FLAGS + "${FLASHATTN_CMAKE_CUDA_FLAGS} -Wno-template-body") + endif() + endif() set(FA_NVCC_ARCH_BIN "") foreach(arch ${NVCC_ARCH_BIN}) string(STRIP ${arch} arch) diff --git a/paddle/fluid/inference/api/paddle_analysis_config.h b/paddle/fluid/inference/api/paddle_analysis_config.h index 093e0896709f79..7c62fca39f69cd 100644 --- a/paddle/fluid/inference/api/paddle_analysis_config.h +++ b/paddle/fluid/inference/api/paddle_analysis_config.h @@ -25,6 +25,7 @@ #pragma once #include +#include #include #include #include diff --git a/paddle/fluid/inference/api/paddle_api.h b/paddle/fluid/inference/api/paddle_api.h index 62efc8934a50ba..123276a203d18b 100644 --- a/paddle/fluid/inference/api/paddle_api.h +++ b/paddle/fluid/inference/api/paddle_api.h @@ -23,6 +23,7 @@ */ #include +#include #include #include #include diff --git a/paddle/fluid/inference/api/paddle_inference_api.h b/paddle/fluid/inference/api/paddle_inference_api.h index a23de7cf5518b9..f6c11f53168d5e 100644 --- a/paddle/fluid/inference/api/paddle_inference_api.h +++ b/paddle/fluid/inference/api/paddle_inference_api.h @@ -22,6 +22,7 @@ limitations under the License. */ #pragma once #include +#include #include #include #include diff --git a/paddle/fluid/pybind/sot/eval_frame.c b/paddle/fluid/pybind/sot/eval_frame.c index b8d2f60bc90451..fe192eb1e0d60e 100644 --- a/paddle/fluid/pybind/sot/eval_frame.c +++ b/paddle/fluid/pybind/sot/eval_frame.c @@ -319,7 +319,7 @@ static PyObject *_custom_eval_frame(PyThreadState *tstate, #if PY_3_13_PLUS frame_proxy->locals = f_locals; #endif - PyObject *arg = frame_proxy; + PyObject *arg = (PyObject *)frame_proxy; #else PyObject *arg = frame; #endif diff --git a/paddle/phi/kernels/strings/unicode.h b/paddle/phi/kernels/strings/unicode.h index 48c07dbf8dd4fe..9ab97887295d14 100644 --- a/paddle/phi/kernels/strings/unicode.h +++ b/paddle/phi/kernels/strings/unicode.h @@ -14,6 +14,7 @@ limitations under the License. */ #pragma once +#include #include #include diff --git a/tools/dockerfile/build_scripts/install_gcc.sh b/tools/dockerfile/build_scripts/install_gcc.sh index 5adbdd0faa2ac4..8461a7bd913828 100644 --- a/tools/dockerfile/build_scripts/install_gcc.sh +++ b/tools/dockerfile/build_scripts/install_gcc.sh @@ -71,8 +71,26 @@ elif [ "$1" == "gcc121" ]; then cd .. && mkdir temp_gcc121 && cd temp_gcc121 && \ ../gcc-12.1.0/configure --prefix=/usr/local/gcc-12.1 --enable-checking=release --enable-languages=c,c++ --disable-multilib && \ make -j8 && make install - cd .. && rm -rf temp_gcc122 gcc-12.1.0 gcc-12.1.0.tar.gz + cd .. && rm -rf temp_gcc121 gcc-12.1.0 gcc-12.1.0.tar.gz cp ${lib_so_6} ${lib_so_6}.bak && rm -f ${lib_so_6} && ln -s /usr/local/gcc-12.1/lib64/libstdc++.so.6 ${lib_so_6} && \ cp /usr/local/gcc-12.1/lib64/libstdc++.so.6.0.30 ${lib_path} +elif [ "$1" == "gcc152" ]; then + GCC_VERSION=${GCC_VERSION:-15.2.0} + GCC_MAJOR_MINOR=$(echo ${GCC_VERSION} | cut -d. -f1,2) + GCC_PREFIX=/usr/local/gcc-${GCC_MAJOR_MINOR} + GCC_ARCHIVE=gcc-${GCC_VERSION}.tar.xz + wget -q https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/${GCC_ARCHIVE} + tar -xf ${GCC_ARCHIVE} && \ + cd gcc-${GCC_VERSION} && \ + unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \ + ./contrib/download_prerequisites && \ + cd .. && mkdir temp_gcc152 && cd temp_gcc152 && \ + ../gcc-${GCC_VERSION}/configure --prefix=${GCC_PREFIX} --enable-checking=release --enable-languages=c,c++ --disable-multilib && \ + make -j$(nproc) && make install + cd .. && rm -rf temp_gcc152 gcc-${GCC_VERSION} ${GCC_ARCHIVE} + cp ${lib_so_6} ${lib_so_6}.bak && rm -f ${lib_so_6} && + ln -s ${GCC_PREFIX}/lib64/libstdc++.so.6 ${lib_so_6} && \ + cp ${GCC_PREFIX}/lib64/libstdc++.so.6.* ${lib_path} + fi