Compare commits
84 Commits
develop
...
revert-315
| Author | SHA1 | Date |
|---|---|---|
|
|
463617d757 | 5 years ago |
|
|
468ac6993b | 5 years ago |
|
|
5118968d80 | 5 years ago |
|
|
925432d85e | 5 years ago |
|
|
1e956001ec | 5 years ago |
|
|
795b0f92d3 | 5 years ago |
|
|
b541ca8795 | 5 years ago |
|
|
57220f594d | 5 years ago |
|
|
3ca4bc1004 | 5 years ago |
|
|
11f788771c | 5 years ago |
|
|
e3e15792a4 | 5 years ago |
|
|
a3cc4a4a69 | 5 years ago |
|
|
f250416029 | 5 years ago |
|
|
7241bc2210 | 5 years ago |
|
|
9606a86b18 | 5 years ago |
|
|
47860ce20d | 5 years ago |
|
|
de65486c19 | 5 years ago |
|
|
ec2160a622 | 5 years ago |
|
|
0234693040 | 5 years ago |
|
|
5e851bff42 | 5 years ago |
|
|
382fc31f89 | 5 years ago |
|
|
5d29a27c2e | 5 years ago |
|
|
09bf2cfc0e | 5 years ago |
|
|
f1fdddfdc8 | 5 years ago |
|
|
e1c33a6d69 | 5 years ago |
|
|
3bf8a34c69 | 5 years ago |
|
|
d746197398 | 5 years ago |
|
|
5d22e15b6e | 5 years ago |
|
|
581e5460a0 | 5 years ago |
|
|
cfeeb4bc95 | 5 years ago |
|
|
e15ccafb84 | 5 years ago |
|
|
29d50d2049 | 5 years ago |
|
|
f400ce9f51 | 5 years ago |
|
|
7524ac9345 | 5 years ago |
|
|
3f206e97c4 | 5 years ago |
|
|
9df84bd693 | 5 years ago |
|
|
e19195f795 | 5 years ago |
|
|
15823bb0df | 5 years ago |
|
|
388c69f27d | 5 years ago |
|
|
c956c035dc | 5 years ago |
|
|
83f81eb573 | 5 years ago |
|
|
5fe3d596e4 | 5 years ago |
|
|
ecc6e213d7 | 5 years ago |
|
|
b3c88e961c | 5 years ago |
|
|
ac3d821bc0 | 5 years ago |
|
|
0310945f5c | 5 years ago |
|
|
45765d6eb6 | 5 years ago |
|
|
8497e2aad3 | 5 years ago |
|
|
9fcdaeba5e | 5 years ago |
|
|
5618f14047 | 5 years ago |
|
|
a1ddff81e3 | 5 years ago |
|
|
d23bf89cf6 | 5 years ago |
|
|
77a0c41cb2 | 5 years ago |
|
|
187248f568 | 5 years ago |
|
|
821c2f4ef8 | 5 years ago |
|
|
d45f5d787e | 5 years ago |
|
|
387c1db4f1 | 5 years ago |
|
|
ff4654e216 | 5 years ago |
|
|
1435b4c096 | 5 years ago |
|
|
678a3e8fed | 5 years ago |
|
|
85cbd55648 | 5 years ago |
|
|
5cb20f30fc | 5 years ago |
|
|
c687edecd8 | 5 years ago |
|
|
a6edbc478b | 5 years ago |
|
|
1201cd2ef2 | 5 years ago |
|
|
7e049108c5 | 5 years ago |
|
|
81138239db | 5 years ago |
|
|
ebef6601d5 | 5 years ago |
|
|
500f28ec37 | 5 years ago |
|
|
de42d19336 | 5 years ago |
|
|
ebb5d181e8 | 5 years ago |
|
|
4a26729540 | 5 years ago |
|
|
636fefd9f8 | 5 years ago |
|
|
88dfd067bf | 5 years ago |
|
|
6eabbc8076 | 5 years ago |
|
|
904cc44349 | 5 years ago |
|
|
5b77b259d8 | 5 years ago |
|
|
7158061a29 | 5 years ago |
|
|
e4287ca60b | 5 years ago |
|
|
f5aca8fbb4 | 5 years ago |
|
|
d2404da768 | 5 years ago |
|
|
f9c97dd728 | 5 years ago |
|
|
1882f2ce2d | 5 years ago |
|
|
6dd52c5b25 | 5 years ago |
File diff suppressed because it is too large
Load Diff
@ -1,87 +1,104 @@
|
||||
if(NOT WITH_ROCM)
|
||||
if(NOT WITH_ROCM_PLATFORM)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED ENV{ROCM_PATH})
|
||||
set(ROCM_PATH "/opt/rocm" CACHE PATH "Path to which ROCm has been installed")
|
||||
set(HIP_PATH ${ROCM_PATH}/hip CACHE PATH "Path to which HIP has been installed")
|
||||
set(HIP_CLANG_PATH ${ROCM_PATH}/llvm/bin CACHE PATH "Path to which clang has been installed")
|
||||
else()
|
||||
set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Path to which ROCm has been installed")
|
||||
set(HIP_PATH ${ROCM_PATH}/hip CACHE PATH "Path to which HIP has been installed")
|
||||
set(HIP_CLANG_PATH ${ROCM_PATH}/llvm/bin CACHE PATH "Path to which clang has been installed")
|
||||
include_directories("${ROCM_PATH}/include")
|
||||
include_directories("${ROCM_PATH}/hip/include")
|
||||
include_directories("${ROCM_PATH}/miopen/include")
|
||||
include_directories("${ROCM_PATH}/hipblas/include")
|
||||
include_directories("${ROCM_PATH}/rocblas/include")
|
||||
include_directories("${ROCM_PATH}/hiprand/include")
|
||||
include_directories("${ROCM_PATH}/rocrand/include")
|
||||
include_directories("${ROCM_PATH}/rccl/include")
|
||||
|
||||
include_directories("${ROCM_PATH}/rocthrust/include/")
|
||||
include_directories("${ROCM_PATH}/hipcub/include/")
|
||||
include_directories("${ROCM_PATH}/rocprim/include/")
|
||||
include_directories("${ROCM_PATH}/hipsparse/include/")
|
||||
include_directories("${ROCM_PATH}/rocsparse/include/")
|
||||
include_directories("${ROCM_PATH}/rocfft/include/")
|
||||
|
||||
set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "")
|
||||
set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "")
|
||||
# now default is clang
|
||||
set(HIP_COMPILER "clang")
|
||||
|
||||
list(APPEND EXTERNAL_LIBS "-L${ROCM_PATH}/lib/ -lhip_hcc")
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -fPIC -DPADDLE_WITH_HIP -DEIGEN_USE_HIP -DEIGEN_USE_GPU -D__HIP_NO_HALF_CONVERSIONS__ -std=c++11 --amdgpu-target=gfx906" )
|
||||
|
||||
if(WITH_RCCL)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_WITH_RCCL")
|
||||
endif()
|
||||
set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH})
|
||||
|
||||
find_package(HIP REQUIRED)
|
||||
include_directories(${ROCM_PATH}/include)
|
||||
message(STATUS "HIP version: ${HIP_VERSION}")
|
||||
message(STATUS "HIP_CLANG_PATH: ${HIP_CLANG_PATH}")
|
||||
|
||||
macro(find_package_and_include PACKAGE_NAME)
|
||||
find_package("${PACKAGE_NAME}" REQUIRED)
|
||||
include_directories("${ROCM_PATH}/${PACKAGE_NAME}/include")
|
||||
message(STATUS "${PACKAGE_NAME} version: ${${PACKAGE_NAME}_VERSION}")
|
||||
endmacro()
|
||||
|
||||
find_package_and_include(miopen)
|
||||
find_package_and_include(rocblas)
|
||||
find_package_and_include(hiprand)
|
||||
find_package_and_include(rocrand)
|
||||
find_package_and_include(rccl)
|
||||
find_package_and_include(rocthrust)
|
||||
find_package_and_include(hipcub)
|
||||
find_package_and_include(rocprim)
|
||||
find_package_and_include(hipsparse)
|
||||
find_package_and_include(rocsparse)
|
||||
find_package_and_include(rocfft)
|
||||
|
||||
# set CXX flags for HIP
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__HIP_PLATFORM_HCC__")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP")
|
||||
set(THRUST_DEVICE_SYSTEM THRUST_DEVICE_SYSTEM_HIP)
|
||||
|
||||
# define HIP_CXX_FLAGS
|
||||
list(APPEND HIP_CXX_FLAGS -fPIC)
|
||||
list(APPEND HIP_CXX_FLAGS -D__HIP_PLATFORM_HCC__=1)
|
||||
# Note(qili93): HIP has compile conflicts of float16.h as platform::float16 overload std::is_floating_point and std::is_integer
|
||||
list(APPEND HIP_CXX_FLAGS -D__HIP_NO_HALF_CONVERSIONS__=1)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-macro-redefined)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-inconsistent-missing-override)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-exceptions)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-shift-count-negative)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-shift-count-overflow)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-unused-command-line-argument)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-duplicate-decl-specifier)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-implicit-int-float-conversion)
|
||||
list(APPEND HIP_CXX_FLAGS -Wno-pass-failed)
|
||||
list(APPEND HIP_CXX_FLAGS -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP)
|
||||
list(APPEND HIP_CXX_FLAGS -std=c++14)
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
list(APPEND HIP_CXX_FLAGS -g2)
|
||||
list(APPEND HIP_CXX_FLAGS -O0)
|
||||
list(APPEND HIP_HIPCC_FLAGS -fdebug-info-for-profiling)
|
||||
endif(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
|
||||
set(HIP_HCC_FLAGS ${HIP_CXX_FLAGS})
|
||||
set(HIP_CLANG_FLAGS ${HIP_CXX_FLAGS})
|
||||
# Ask hcc to generate device code during compilation so we can use
|
||||
# host linker to link.
|
||||
list(APPEND HIP_HCC_FLAGS -fno-gpu-rdc)
|
||||
list(APPEND HIP_HCC_FLAGS --amdgpu-target=gfx906)
|
||||
list(APPEND HIP_CLANG_FLAGS -fno-gpu-rdc)
|
||||
list(APPEND HIP_CLANG_FLAGS --amdgpu-target=gfx906)
|
||||
|
||||
|
||||
if(HIP_COMPILER STREQUAL clang)
|
||||
set(hip_library_name amdhip64)
|
||||
else()
|
||||
set(hip_library_name hip_hcc)
|
||||
|
||||
if(NOT WITH_PYTHON)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_NO_PYTHON")
|
||||
endif(NOT WITH_PYTHON)
|
||||
|
||||
if(WITH_DSO)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_USE_DSO")
|
||||
endif(WITH_DSO)
|
||||
|
||||
if(WITH_TESTING)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_WITH_TESTING")
|
||||
endif(WITH_TESTING)
|
||||
|
||||
if(WITH_DISTRIBUTE)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_WITH_DISTRIBUTE")
|
||||
endif(WITH_DISTRIBUTE)
|
||||
|
||||
if(WITH_GRPC)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_WITH_GRPC")
|
||||
endif(WITH_GRPC)
|
||||
|
||||
if(WITH_MKLDNN)
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DPADDLE_WITH_MKLDNN")
|
||||
endif(WITH_MKLDNN)
|
||||
|
||||
set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -DANY_IMPL_ANY_CAST_MOVEABLE")
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
list(APPEND HIP_HIPCC_FLAGS ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
list(APPEND HIP_HIPCC_FLAGS ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
|
||||
list(APPEND HIP_HIPCC_FLAGS ${CMAKE_CXX_FLAGS_MINSIZEREL})
|
||||
endif()
|
||||
message(STATUS "HIP library name: ${hip_library_name}")
|
||||
|
||||
# set HIP link libs
|
||||
find_library(ROCM_HIPRTC_LIB ${hip_library_name} HINTS ${HIP_PATH}/lib)
|
||||
message(STATUS "ROCM_HIPRTC_LIB: ${ROCM_HIPRTC_LIB}")
|
||||
if("${HIP_COMPILER}" STREQUAL "hcc")
|
||||
if("x${HCC_HOME}" STREQUAL "x")
|
||||
set(HCC_HOME "${ROCM_PATH}/hcc")
|
||||
endif()
|
||||
|
||||
set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -ldl --amdgpu-target=gfx906 ")
|
||||
set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -shared --amdgpu-target=gfx906")
|
||||
set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_HOME} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -shared --amdgpu-target=gfx906")
|
||||
|
||||
elseif("${HIP_COMPILER}" STREQUAL "clang")
|
||||
|
||||
if("x${HIP_CLANG_PATH}" STREQUAL "x")
|
||||
set(HIP_CLANG_PATH "${ROCM_PATH}/llvm/bin")
|
||||
endif()
|
||||
|
||||
#Number of parallel jobs by default is 1
|
||||
if(NOT DEFINED HIP_CLANG_NUM_PARALLEL_JOBS)
|
||||
set(HIP_CLANG_NUM_PARALLEL_JOBS 1)
|
||||
endif()
|
||||
#Add support for parallel build and link
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
|
||||
check_cxx_compiler_flag("-parallel-jobs=1" HIP_CLANG_SUPPORTS_PARALLEL_JOBS)
|
||||
endif()
|
||||
if(HIP_CLANG_NUM_PARALLEL_JOBS GREATER 1)
|
||||
if(${HIP_CLANG_SUPPORTS_PARALLEL_JOBS})
|
||||
set(HIP_CLANG_PARALLEL_BUILD_COMPILE_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS} -Wno-format-nonliteral")
|
||||
set(HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS "-parallel-jobs=${HIP_CLANG_NUM_PARALLEL_JOBS}")
|
||||
else()
|
||||
message("clang compiler doesn't support parallel jobs")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# Set the CMake Flags to use the HIP-Clang Compiler.
|
||||
set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES> --amdgpu-target=gfx906")
|
||||
set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <LINK_LIBRARIES> -shared --amdgpu-target=gfx906" )
|
||||
set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HIP_CLANG_PATH} ${HIP_CLANG_PARALLEL_BUILD_LINK_OPTIONS} <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -ldl --amdgpu-target=gfx906")
|
||||
endif()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue