Skip to content

Commit

Permalink
Revert "[Caffe2] Enabling AMD GPU Backend for Caffe2" (#7802)
Browse files Browse the repository at this point in the history
* Revert "[auto] Update onnx to 4898c9e - Added TensorDenotation and metadata_props for images (onnx/onnx#879) onnx/onnx@4898c9e"

This reverts commit 9c679dab5fe7cac27bb8c783fd143276e6046ef1.

* Revert "Add BiasCHW fallback for GPU (#7738)"

This reverts commit 14ad2e74f108d13ec98abb078f6aa7f01aae0aad.

* Revert "[Caffe2] Enabling AMD GPU Backend for Caffe2 (#7566)"

This reverts commit 2ebcf4bb37739733e76b754284cf8b2ffcba1c30.
  • Loading branch information
bddppq authored and orionr committed May 24, 2018
1 parent 884a43e commit 5f8829c
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 115 deletions.
4 changes: 0 additions & 4 deletions aten/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,6 @@ ENDIF()
# Find the HIP package, set the HIP paths, load the HIP CMake.
IF(WITH_ROCM)
include(LoadHIP)
if (NOT PYTORCH_FOUND_HIP)
MESSAGE(FATAL_ERROR
"Could not find HIP installation")
endif()
ENDIF()

IF(MSVC)
Expand Down
22 changes: 0 additions & 22 deletions cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -397,28 +397,6 @@ if(USE_CUDA)
endif()
endif()

# ---[ HIP
if(USE_HIP)
include(cmake/public/LoadHIP.cmake)
if(PYTORCH_FOUND_HIP)
message(INFO "Compiling with HIP for AMD.")

set(Caffe2_HIP_CXX_FLAGS "-D__HIP_PLATFORM_HCC__=1")
set(Caffe2_HIP_INCLUDES
${hip_INCLUDE_DIRS} ${rocrand_INCLUDE_DIRS} ${hiprand_INCLUDE_DIRS} ${rocblas_INCLUDE_DIRS} ${miopen_INCLUDE_DIRS} ${Caffe2_HIP_INCLUDES} ${thrust_INCLUDE_DIRS})
set(Caffe2_HIP_DEPENDENCY_LIBS
${rocrand_LIBRARIES} ${hiprand_LIBRARIES} ${PYTORCH_HIP_HCC_LIBRARIES} ${PYTORCH_MIOPEN_LIBRARIES})

# TODO: There is a bug in rocblas's cmake files that exports the wrong targets name in ${rocblas_LIBRARIES}
list(APPEND Caffe2_HIP_DEPENDENCY_LIBS
roc::rocblas)

else()
message(WARNING "Not compiling with HIP for AMD. Suppress this warning with -DUSE_HIP=OFF.")
caffe2_update_option(USE_HIP OFF)
endif()
endif()

# ---[ NCCL
if(USE_NCCL)
if(NOT USE_CUDA)
Expand Down
1 change: 0 additions & 1 deletion cmake/Summary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ function (caffe2_print_configuration_summary)

message(STATUS " USE_ASAN : ${USE_ASAN}")
message(STATUS " USE_CUDA : ${USE_CUDA}")
message(STATUS " USE_HIP : ${USE_HIP}")
if(${USE_CUDA})
message(STATUS " CUDA static link : ${CAFFE2_STATIC_LINK_CUDA}")
message(STATUS " USE_CUDNN : ${USE_CUDNN}")
Expand Down
102 changes: 14 additions & 88 deletions cmake/public/LoadHIP.cmake
Original file line number Diff line number Diff line change
@@ -1,86 +1,42 @@
set(PYTORCH_FOUND_HIP FALSE)

IF(NOT DEFINED ENV{ROCM_PATH})
SET(ROCM_PATH /opt/rocm)
ELSE()
SET(ROCM_PATH $ENV{ROCM_PATH})
ENDIF()

# HIP_PATH
IF(NOT DEFINED ENV{HIP_PATH})
SET(HIP_PATH ${ROCM_PATH}/hip)
IF(NOT DEFINED $ENV{HIP_PATH})
SET(HIP_PATH /opt/rocm/hip)
ELSE()
SET(HIP_PATH $ENV{HIP_PATH})
ENDIF()

IF(NOT EXISTS ${HIP_PATH})
return()
ENDIF()

# HCC_PATH
IF(NOT DEFINED ENV{HCC_PATH})
SET(HCC_PATH ${ROCM_PATH}/hcc)
IF(NOT DEFINED $ENV{HCC_PATH})
SET(HCC_PATH /opt/rocm/hcc)
ELSE()
SET(HCC_PATH $ENV{HCC_PATH})
ENDIF()

# HIPBLAS_PATH
IF(NOT DEFINED ENV{HIPBLAS_PATH})
SET(HIPBLAS_PATH ${ROCM_PATH}/hipblas)
IF(NOT DEFINED $ENV{HIPBLAS_PATH})
SET(HIPBLAS_PATH /opt/rocm/hipblas)
ELSE()
SET(HIPBLAS_PATH $ENV{HIPBLAS_PATH})
ENDIF()

# ROCBLAS_PATH
IF(NOT DEFINED ENV{ROCBLAS_PATH})
SET(ROCBLAS_PATH ${ROCM_PATH}/rocblas)
ELSE()
SET(ROCBLAS_PATH $ENV{ROCBLAS_PATH})
ENDIF()

# HIPRNG_PATH
IF(NOT DEFINED ENV{HIPRNG_PATH})
SET(HIPRNG_PATH ${ROCM_PATH}/hcrng)
IF(NOT DEFINED $ENV{HIPRNG_PATH})
SET(HIPRNG_PATH /opt/rocm/hcrng)
ELSE()
SET(HIPRNG_PATH $ENV{HIPRNG_PATH})
ENDIF()

# HIPSPARSE_PATH
IF(NOT DEFINED ENV{HIPSPARSE_PATH})
SET(HIPSPARSE_PATH ${ROCM_PATH}/hcsparse)
IF(NOT DEFINED $ENV{HIPSPARSE_PATH})
SET(HIPSPARSE_PATH /opt/rocm/hcsparse)
ELSE()
SET(HIPSPARSE_PATH $ENV{HIPSPARSE_PATH})
ENDIF()

# THRUST_PATH
IF(DEFINED ENV{THRUST_PATH})
SET(THRUST_PATH $ENV{THRUST_PATH})
ELSEIF(DEFINED ENV{THRUST_ROOT})
# TODO: Remove support of THRUST_ROOT environment variable
SET(THRUST_PATH $ENV{THRUST_ROOT})
ELSE()
SET(THRUST_PATH ${ROCM_PATH}/Thrust)
ENDIF()

# HIPRAND_PATH
IF(NOT DEFINED ENV{HIPRAND_PATH})
SET(HIPRAND_PATH ${ROCM_PATH}/hiprand)
ELSE()
SET(HIPRAND_PATH $ENV{HIPRAND_PATH})
ENDIF()

# ROCRAND_PATH
IF(NOT DEFINED ENV{ROCRAND_PATH})
SET(ROCRAND_PATH ${ROCM_PATH}/rocrand)
IF(NOT DEFINED $ENV{THRUST_PATH})
SET(THRUST_PATH "/opt/rocm/Thrust")
ELSE()
SET(ROCRAND_PATH $ENV{ROCRAND_PATH})
ENDIF()

# MIOPEN_PATH
IF(NOT DEFINED ENV{MIOPEN_PATH})
SET(MIOPEN_PATH ${ROCM_PATH}/miopen)
ELSE()
SET(MIOPEN_PATH $ENV{MIOPEN_PATH})
SET(THRUST_PATH $ENV{THRUST_PATH})
ENDIF()

# Add HIP to the CMAKE Module Path
Expand All @@ -90,34 +46,4 @@ set(CMAKE_MODULE_PATH ${HIP_PATH}/cmake ${CMAKE_MODULE_PATH})
ADD_DEFINITIONS(-DNDEBUG)

# Find the HIP Package
FIND_PACKAGE(HIP 1.0)

IF(HIP_FOUND)
set(PYTORCH_FOUND_HIP TRUE)

set(CMAKE_HIP_LINK_EXECUTABLE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_PATH} <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
set(CMAKE_HIP_CREATE_SHARED_LIBRARY "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_PATH} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -shared")
set(CMAKE_HIP_CREATE_SHARED_MODULE "${HIP_HIPCC_CMAKE_LINKER_HELPER} ${HCC_PATH} <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -shared")

set(rocrand_DIR ${ROCRAND_PATH}/lib/cmake/rocrand)
set(hiprand_DIR ${HIPRAND_PATH}/lib/cmake/hiprand)
set(rocblas_DIR ${ROCBLAS_PATH}/lib/cmake/rocblas)
set(miopen_DIR ${MIOPEN_PATH}/lib/cmake/miopen)

find_package(rocrand REQUIRED)
find_package(hiprand REQUIRED)
find_package(rocblas REQUIRED)
find_package(miopen REQUIRED)

# TODO: hip_hcc has an interface include flag "-hc" which is only
# recognizable by hcc, but not gcc and clang. Right now in our
# setup, hcc is only used for linking, but it should be used to
# compile the *_hip.cc files as well.
FIND_LIBRARY(PYTORCH_HIP_HCC_LIBRARIES hip_hcc HINTS ${HIP_PATH}/lib)
# TODO: miopen_LIBRARIES should return fullpath to the library file,
# however currently it's just the lib name
FIND_LIBRARY(PYTORCH_MIOPEN_LIBRARIES ${miopen_LIBRARIES} HINTS ${MIOPEN_PATH}/lib)

set(thrust_INCLUDE_DIRS ${THRUST_PATH} ${THRUST_PATH}/thrust/system/cuda/detail/cub-hip)

ENDIF()
FIND_PACKAGE(HIP 1.0 REQUIRED)

0 comments on commit 5f8829c

Please sign in to comment.