Skip to content

Commit d4f3a2c

Browse files
pruthvistony-amdjeffdaily
authored andcommitted
Initial changes to support ROCm 6.0
- [TODO] cleanup is pending
1 parent 0caee62 commit d4f3a2c

File tree

1 file changed

+45
-12
lines changed

1 file changed

+45
-12
lines changed

cmake/public/LoadHIP.cmake

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ else()
1717
set(HIP_PATH $ENV{HIP_PATH})
1818
endif()
1919

20-
if(NOT EXISTS ${HIP_PATH})
21-
return()
22-
endif()
20+
#if(NOT EXISTS ${HIP_PATH})
21+
# return()
22+
#endif()
2323

2424
# HCC_PATH
2525
if(NOT DEFINED ENV{HCC_PATH})
@@ -155,7 +155,7 @@ endif()
155155
message("Building PyTorch for GPU arch: ${PYTORCH_ROCM_ARCH}")
156156

157157
# Add HIP to the CMAKE Module Path
158-
set(CMAKE_MODULE_PATH ${HIP_PATH}/cmake ${CMAKE_MODULE_PATH})
158+
set(CMAKE_MODULE_PATH ${ROCM_PATH}/lib/cmake/hip ${CMAKE_MODULE_PATH})
159159

160160
macro(find_package_and_print_version PACKAGE_NAME)
161161
find_package("${PACKAGE_NAME}" ${ARGN})
@@ -167,15 +167,35 @@ find_package_and_print_version(HIP 1.0)
167167

168168
if(HIP_FOUND)
169169
set(PYTORCH_FOUND_HIP TRUE)
170+
set(FOUND_ROCM_VERSION_H FALSE)
171+
172+
if(EXISTS ${ROCM_PATH}/.info/version-dev)
173+
# ROCM < 4.5, we don't have the header api file, use flat file
174+
file(READ "${ROCM_PATH}/.info/version-dev" ROCM_VERSION_DEV_RAW)
175+
message("\n***** ROCm version from ${ROCM_PATH}/.info/version-dev ****\n")
176+
endif()
177+
178+
set(PROJECT_RANDOM_BINARY_DIR "${PROJECT_BINARY_DIR}")
179+
set(file "${PROJECT_BINARY_DIR}/detect_rocm_version.cc")
170180

171181
# Find ROCM version for checks
172182
# ROCM 5.0 and later will have header api for version management
173183
if(EXISTS ${ROCM_INCLUDE_DIRS}/rocm_version.h)
174-
175-
set(PROJECT_RANDOM_BINARY_DIR "${PROJECT_BINARY_DIR}")
176-
set(file "${PROJECT_BINARY_DIR}/detect_rocm_version.cc")
184+
set(FOUND_ROCM_VERSION_H TRUE)
177185
file(WRITE ${file} ""
178186
"#include <rocm_version.h>\n"
187+
)
188+
elseif(EXISTS ${ROCM_INCLUDE_DIRS}/rocm-core/rocm_version.h)
189+
set(FOUND_ROCM_VERSION_H TRUE)
190+
file(WRITE ${file} ""
191+
"#include <rocm-core/rocm_version.h>\n"
192+
)
193+
else()
194+
message("********************* rocm_version.h couldnt be found ******************\n")
195+
endif()
196+
197+
if(FOUND_ROCM_VERSION_H)
198+
file(APPEND ${file} ""
179199
"#include <cstdio>\n"
180200

181201
"#ifndef ROCM_VERSION_PATCH\n"
@@ -201,11 +221,6 @@ if(HIP_FOUND)
201221
message(STATUS "Caffe2: Header version is: " ${rocm_version_from_header})
202222
set(ROCM_VERSION_DEV_RAW ${rocm_version_from_header})
203223
message("\n***** ROCm version from rocm_version.h ****\n")
204-
205-
# ROCM < 4.5, we don't have the header api file, use flat file
206-
else()
207-
file(READ "${ROCM_PATH}/.info/version-dev" ROCM_VERSION_DEV_RAW)
208-
message("\n***** ROCm version from ${ROCM_PATH}/.info/version-dev ****\n")
209224
endif()
210225

211226
string(REGEX MATCH "^([0-9]+)\.([0-9]+)\.([0-9]+).*$" ROCM_VERSION_DEV_MATCH ${ROCM_VERSION_DEV_RAW})
@@ -244,6 +259,23 @@ if(HIP_FOUND)
244259
set(CMAKE_HCC_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
245260
### Remove setting of Flags when FindHIP.CMake PR #558 is accepted.###
246261

262+
if(ROCM_VERSION_DEV VERSION_GREATER_EQUAL "6.0.0")
263+
set(HIP_PATH ${ROCM_PATH})
264+
set(ROCRAND_PATH ${ROCM_PATH})
265+
set(HIPRAND_PATH ${ROCM_PATH})
266+
set(ROCBLAS_PATH ${ROCM_PATH})
267+
set(MIOPEN_PATH ${ROCM_PATH})
268+
set(ROCFFT_PATH ${ROCM_PATH})
269+
set(HIPFFT_PATH ${ROCM_PATH})
270+
set(HIPSPARSE_PATH ${ROCM_PATH})
271+
set(RCCL_PATH ${ROCM_PATH})
272+
set(ROCPRIM_PATH ${ROCM_PATH})
273+
set(HIPCUB_PATH ${ROCM_PATH})
274+
set(ROCTHRUST_PATH ${ROCM_PATH})
275+
set(HIPSOLVER_PATH ${ROCM_PATH})
276+
set(ROCTRACER_PATH ${ROCM_PATH})
277+
endif()
278+
247279
# As of ROCm 5.1.x, all *.cmake files are under /opt/rocm/lib/cmake/<package>
248280
if(ROCM_VERSION_DEV VERSION_GREATER_EQUAL "5.1.0")
249281
set(hip_DIR ${ROCM_PATH}/lib/cmake/hip)
@@ -283,6 +315,7 @@ if(HIP_FOUND)
283315
set(hipsolver_DIR ${HIPSOLVER_PATH}/lib/cmake/hipsolver)
284316
endif()
285317

318+
286319
find_package_and_print_version(hip REQUIRED)
287320
find_package_and_print_version(hsa-runtime64 REQUIRED)
288321
find_package_and_print_version(amd_comgr REQUIRED)

0 commit comments

Comments
 (0)