@@ -87,16 +87,18 @@ if (ROCM_CCACHE_BUILD)
87
87
endif () # if (ROCM_CCACHE_BUILD)
88
88
89
89
## Get version strings
90
- get_version ( "1.5 .0" )
90
+ get_version ( "1.7 .0" )
91
91
if ( ${ROCM_PATCH_VERSION} )
92
92
set ( VERSION_PATCH ${ROCM_PATCH_VERSION} )
93
93
endif ()
94
94
set ( SO_VERSION_STRING "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_PATCH} " )
95
95
set ( PACKAGE_VERSION_STRING "${VERSION_MAJOR} .${VERSION_MINOR} .${VERSION_COMMIT_COUNT} " )
96
96
97
97
## Find external dependencies.
98
+ find_package (PkgConfig)
98
99
find_package (LibElf REQUIRED)
99
100
find_package (hsakmt 1.0 REQUIRED HINTS ${CMAKE_INSTALL_PREFIX} PATHS /opt/rocm)
101
+ pkg_check_modules(drm REQUIRED IMPORTED_TARGET libdrm)
100
102
101
103
## Create the rocr target.
102
104
add_library ( ${CORE_RUNTIME_TARGET} "" )
@@ -119,10 +121,11 @@ endif()
119
121
target_include_directories ( ${CORE_RUNTIME_TARGET}
120
122
PUBLIC
121
123
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /inc>
122
- $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} /hsa >
124
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >
123
125
PRIVATE
124
126
${CMAKE_CURRENT_SOURCE_DIR}
125
- ${CMAKE_CURRENT_SOURCE_DIR} /libamdhsacode )
127
+ ${CMAKE_CURRENT_SOURCE_DIR} /libamdhsacode
128
+ ${CMAKE_CURRENT_BINARY_DIR} /core/runtime/trap_handler)
126
129
127
130
## Set RUNPATH - ../../lib covers use of the legacy symlink in /hsa/lib/
128
131
set_property (TARGET ${CORE_RUNTIME_TARGET} PROPERTY INSTALL_RPATH "$ORIGIN;$ORIGIN/../../lib;$ORIGIN/../../lib64;$ORIGIN/../lib64" )
@@ -182,6 +185,7 @@ set ( SRCS core/util/lnx/os_linux.cpp
182
185
core/runtime/signal.cpp
183
186
core/runtime/queue.cpp
184
187
core/runtime/cache .cpp
188
+ core/runtime/svm_profiler.cpp
185
189
core/common/shared.cpp
186
190
core/common/hsa_table_interface.cpp
187
191
loader/executable.cpp
@@ -193,6 +197,10 @@ set ( SRCS core/util/lnx/os_linux.cpp
193
197
194
198
target_sources ( ${CORE_RUNTIME_TARGET} PRIVATE ${SRCS} )
195
199
200
+ ## Depend on trap handler target.
201
+ add_subdirectory ( ${CMAKE_CURRENT_SOURCE_DIR} /core/runtime/trap_handler )
202
+ add_dependencies ( ${CORE_RUNTIME_TARGET} amd_trap_handler_v2 )
203
+
196
204
if ( NOT DEFINED IMAGE_SUPPORT AND CMAKE_SYSTEM_PROCESSOR MATCHES "i?86|x86_64|amd64|AMD64" )
197
205
set ( IMAGE_SUPPORT ON )
198
206
endif ()
@@ -220,14 +228,17 @@ if(${IMAGE_SUPPORT})
220
228
image/addrlib/src/r800/siaddrlib.cpp
221
229
image/addrlib/src/gfx9/gfx9addrlib.cpp
222
230
image/addrlib/src/gfx10/gfx10addrlib.cpp
231
+ image/addrlib/src/gfx11/gfx11addrlib.cpp
223
232
image/device_info.cpp
224
233
image/hsa_ext_image.cpp
225
234
image/image_runtime.cpp
226
235
image/image_manager.cpp
227
236
image/image_manager_kv.cpp
228
237
image/image_manager_ai.cpp
229
238
image/image_manager_nv.cpp
239
+ image/image_manager_gfx11.cpp
230
240
image/image_lut_kv.cpp
241
+ image/image_lut_gfx11.cpp
231
242
image/blit_object_gfx7xx.cpp
232
243
image/blit_object_gfx8xx.cpp
233
244
image/blit_object_gfx9xx.cpp
@@ -246,9 +257,11 @@ if(${IMAGE_SUPPORT})
246
257
${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/r800
247
258
${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/gfx9
248
259
${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/gfx10
260
+ ${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/gfx11
249
261
${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/chip/r800
250
262
${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/chip/gfx9
251
- ${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/chip/gfx10 )
263
+ ${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/chip/gfx10
264
+ ${CMAKE_CURRENT_SOURCE_DIR} /image/addrlib/src/chip/gfx11 )
252
265
253
266
target_sources ( ${CORE_RUNTIME_TARGET} PRIVATE ${IMAGE_SRCS} )
254
267
@@ -259,7 +272,7 @@ if(${IMAGE_SUPPORT})
259
272
endif ()
260
273
261
274
## Link dependencies.
262
- target_link_libraries ( ${CORE_RUNTIME_TARGET} PRIVATE hsakmt::hsakmt )
275
+ target_link_libraries ( ${CORE_RUNTIME_TARGET} PRIVATE hsakmt::hsakmt PkgConfig::drm )
263
276
target_link_libraries ( ${CORE_RUNTIME_TARGET} PRIVATE elf::elf dl pthread rt )
264
277
265
278
## Set the VERSION and SOVERSION values
@@ -286,13 +299,6 @@ if( NOT ${BUILD_SHARED_LIBS} )
286
299
install ( TARGETS ${CORE_RUNTIME_NAME} EXPORT ${CORE_RUNTIME_NAME} Targets )
287
300
endif ()
288
301
289
- ## Create symlinks for legacy packaging and install
290
- add_custom_target ( hsa_include_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../${CMAKE_INSTALL_INCLUDEDIR} /hsa hsa_include_link )
291
- if ( ${BUILD_SHARED_LIBS} )
292
- add_custom_target ( hsa_lib_link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../${CMAKE_INSTALL_LIBDIR} /${CORE_RUNTIME_LIBRARY} .so ${CORE_RUNTIME_LIBRARY} -link.so )
293
- add_custom_target ( hsa_lib_link2 ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../../${CMAKE_INSTALL_LIBDIR} /${CORE_RUNTIME_LIBRARY} .so.${VERSION_MAJOR} ${CORE_RUNTIME_LIBRARY} -link.so.${VERSION_MAJOR} )
294
- endif ()
295
-
296
302
## Set install information
297
303
# Installs binaries and exports the library usage data to ${HSAKMT_TARGET}Targets
298
304
install ( TARGETS ${CORE_RUNTIME_TARGET} EXPORT ${CORE_RUNTIME_NAME} Targets
@@ -305,14 +311,14 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTA
305
311
# Install public headers
306
312
install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /hsa COMPONENT dev )
307
313
308
- # Legacy symlink - not packaged (CPack is bugged until ~3.18, see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4637)
309
- install ( FILES ${CMAKE_CURRENT_BINARY_DIR} /hsa_include_link DESTINATION hsa/ include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa )
310
-
311
- # Legacy symlinks.
312
- if ( ${BUILD_SHARED_LIBS} )
313
- install ( FILES ${CMAKE_CURRENT_BINARY_DIR} / ${CORE_RUNTIME_LIBRARY} -link.so DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY} .so COMPONENT binary)
314
- install ( FILES ${CMAKE_CURRENT_BINARY_DIR} / ${CORE_RUNTIME_LIBRARY} -link.so. ${VERSION_MAJOR} DESTINATION hsa/lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY} .so. ${VERSION_MAJOR} COMPONENT binary )
315
- endif ()
314
+ # Option to build header path migration helpers.
315
+ option (INCLUDE_PATH_COMPATIBILITY "Generate backward compatible headers and include paths. Use of these headers will warn when included." ON )
316
+ if (INCLUDE_PATH_COMPATIBILITY)
317
+ include (hsa-backward-compat.cmake)
318
+ target_include_directories ( ${CORE_RUNTIME_TARGET}
319
+ PUBLIC
320
+ $<INSTALL_INTERFACE: hsa/include /hsa> )
321
+ endif ()
316
322
317
323
## Configure and install package config file
318
324
# Record our usage data for clients find_package calls.
@@ -380,7 +386,7 @@ set ( CPACK_DEB_COMPONENT_INSTALL ON)
380
386
set ( CPACK_RPM_COMPONENT_INSTALL ON )
381
387
set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." )
382
388
set ( CPACK_PACKAGE_VERSION ${PACKAGE_VERSION_STRING} )
383
- set ( CPACK_PACKAGE_CONTACT "TODO Advanced Micro Devices, Inc." )
389
+ set ( CPACK_PACKAGE_CONTACT
"AMD HSA Support <[email protected] >" )
384
390
set ( CPACK_COMPONENT_BINARY_DESCRIPTION "AMD Heterogeneous System Architecture HSA - Linux HSA Runtime for Boltzmann (ROCm) platforms" )
385
391
set ( CPACK_COMPONENT_DEV_DESCRIPTION "AMD Heterogeneous System Architecture HSA development package.\n This package contains the headers and cmake files for the hsa-rocr package." )
386
392
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR} /LICENSE.md" )
@@ -405,23 +411,22 @@ set ( CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/RadeonOpenCompute/ROCR-R
405
411
## Process the Debian install/remove scripts to update the CPACK variables
406
412
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /DEBIAN/Binary/postinst.in DEBIAN/Binary/postinst @ONLY )
407
413
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /DEBIAN/Binary/prerm.in DEBIAN/Binary/prerm @ONLY )
408
- configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /DEBIAN/Dev/postinst.in DEBIAN/Dev/postinst @ONLY )
409
- configure_file ( ${CMAKE_CURRENT_SOURCE_DIR} /DEBIAN/Dev/prerm.in DEBIAN/Dev/prerm @ONLY )
410
-
411
414
set ( CPACK_DEBIAN_BINARY_PACKAGE_CONTROL_EXTRA "DEBIAN/Binary/postinst;DEBIAN/Binary/prerm" )
412
- set ( CPACK_DEBIAN_DEV_PACKAGE_CONTROL_EXTRA "DEBIAN/Dev/postinst;DEBIAN/Dev/prerm" )
413
415
414
- # Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
415
- set ( CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "hsakmt-roct" )
416
- set ( CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "hsa-rocr" )
416
+ # package dependencies
417
+ set ( CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "libdrm-amdgpu-amdgpu1 | libdrm-amdgpu1, libnuma1" )
418
+ set ( CPACK_DEBIAN_BINARY_PACKAGE_RECOMMENDS "libdrm-amdgpu-amdgpu1" )
419
+ set ( CPACK_DEBIAN_DEV_PACKAGE_DEPENDS "hsa-rocr, hsakmt-roct-dev" )
417
420
if ( ROCM_DEP_ROCMCORE )
418
421
string ( APPEND CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS ", rocm-core" )
419
- string ( APPEND CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ", rocm-core" )
420
422
endif ()
423
+ # Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
421
424
set ( CPACK_DEBIAN_PACKAGE_BREAKS "hsa-ext-rocr-dev" )
422
425
set ( CPACK_DEBIAN_PACKAGE_REPLACES "hsa-ext-rocr-dev" )
423
426
424
427
# RPM package specific variables
428
+ set ( EL7_DISTRO "FALSE" )
429
+ checksetel7(EL7_DISTRO)
425
430
set ( CPACK_RPM_BINARY_PACKAGE_NAME "hsa-rocr" )
426
431
set ( CPACK_RPM_DEV_PACKAGE_NAME "hsa-rocr-devel" )
427
432
if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} )
@@ -438,21 +443,21 @@ set( CPACK_RPM_PACKAGE_LICENSE "NCSA" )
438
443
## Process the Rpm install/remove scripts to update the CPACK variables
439
444
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR} /RPM/Binary/post.in" RPM/Binary/post @ONLY )
440
445
configure_file ( "${CMAKE_CURRENT_SOURCE_DIR} /RPM/Binary/postun.in" RPM/Binary/postun @ONLY )
441
- configure_file ( "${CMAKE_CURRENT_SOURCE_DIR} /RPM/Dev/post.in" RPM/Dev/post @ONLY )
442
- configure_file ( "${CMAKE_CURRENT_SOURCE_DIR} /RPM/Dev/postun.in" RPM/Dev/postun @ONLY )
443
-
444
446
set ( CPACK_RPM_BINARY_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR} /RPM/Binary/post" )
445
447
set ( CPACK_RPM_BINARY_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR} /RPM/Binary/postun" )
446
- set ( CPACK_RPM_DEV_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR} /RPM/Dev/post" )
447
- set ( CPACK_RPM_DEV_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR} /RPM/Dev/postun" )
448
448
449
- # Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
450
- set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "hsakmt-roct" )
451
- set ( CPACK_RPM_DEV_PACKAGE_REQUIRES "hsa-rocr" )
449
+ # package dependencies
450
+ if (${EL7_DISTRO} STREQUAL "TRUE" )
451
+ set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "libdrm-amdgpu, numactl-libs" )
452
+ else ()
453
+ set ( CPACK_RPM_BINARY_PACKAGE_REQUIRES "(libdrm-amdgpu or libdrm or libdrm_amdgpu1), (libnuma1 or numactl-libs)" )
454
+ set ( CPACK_RPM_BINARY_PACKAGE_SUGGESTS "libdrm-amdgpu" )
455
+ endif ()
456
+ set ( CPACK_RPM_DEV_PACKAGE_REQUIRES "hsa-rocr , hsakmt-roct-devel" )
452
457
if ( ROCM_DEP_ROCMCORE )
453
458
string ( APPEND CPACK_RPM_BINARY_PACKAGE_REQUIRES " rocm-core" )
454
- string ( APPEND CPACK_RPM_DEV_PACKAGE_REQUIRES " rocm-core" )
455
459
endif ()
460
+ # Declare package relationships (hsa-ext-rocr-dev is a legacy package that we subsume)
456
461
set ( CPACK_RPM_PACKAGE_PROVIDES "hsa-ext-rocr-dev hsa-rocr-dev" )
457
462
set ( CPACK_RPM_PACKAGE_OBSOLETES "hsa-ext-rocr-dev" )
458
463
0 commit comments