17
17
set (HIP_PATH $ENV{HIP_PATH} )
18
18
endif ()
19
19
20
- if (NOT EXISTS ${HIP_PATH} )
21
- return ()
22
- endif ()
20
+ # if(NOT EXISTS ${HIP_PATH})
21
+ # return()
22
+ # endif()
23
23
24
24
# HCC_PATH
25
25
if (NOT DEFINED ENV{HCC_PATH} )
@@ -155,7 +155,7 @@ endif()
155
155
message ("Building PyTorch for GPU arch: ${PYTORCH_ROCM_ARCH} " )
156
156
157
157
# 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} )
159
159
160
160
macro (find_package_and_print_version PACKAGE_NAME )
161
161
find_package ("${PACKAGE_NAME} " ${ARGN} )
@@ -167,15 +167,35 @@ find_package_and_print_version(HIP 1.0)
167
167
168
168
if (HIP_FOUND )
169
169
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" )
170
180
171
181
# Find ROCM version for checks
172
182
# ROCM 5.0 and later will have header api for version management
173
183
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 )
177
185
file (WRITE ${file} ""
178
186
"#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} ""
179
199
"#include <cstdio>\n "
180
200
181
201
"#ifndef ROCM_VERSION_PATCH\n "
@@ -201,11 +221,6 @@ if(HIP_FOUND)
201
221
message (STATUS "Caffe2: Header version is: " ${rocm_version_from_header} )
202
222
set (ROCM_VERSION_DEV_RAW ${rocm_version_from_header} )
203
223
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 " )
209
224
endif ()
210
225
211
226
string (REGEX MATCH "^([0-9]+)\. ([0-9]+)\. ([0-9]+).*$" ROCM_VERSION_DEV_MATCH ${ROCM_VERSION_DEV_RAW} )
@@ -244,6 +259,23 @@ if(HIP_FOUND)
244
259
set (CMAKE_HCC_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} )
245
260
### Remove setting of Flags when FindHIP.CMake PR #558 is accepted.###
246
261
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
+
247
279
# As of ROCm 5.1.x, all *.cmake files are under /opt/rocm/lib/cmake/<package>
248
280
if (ROCM_VERSION_DEV VERSION_GREATER_EQUAL "5.1.0" )
249
281
set (hip_DIR ${ROCM_PATH} /lib/cmake/hip )
@@ -283,6 +315,7 @@ if(HIP_FOUND)
283
315
set (hipsolver_DIR ${HIPSOLVER_PATH} /lib/cmake/hipsolver )
284
316
endif ()
285
317
318
+
286
319
find_package_and_print_version (hip REQUIRED )
287
320
find_package_and_print_version (hsa-runtime64 REQUIRED )
288
321
find_package_and_print_version (amd_comgr REQUIRED )
0 commit comments