CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
114 lines
4.3 KiB
CMake
114 lines
4.3 KiB
CMake
#
|
|
# Build dynamic Library object
|
|
#
|
|
set ( TARGET_LIB "${TARGET_NAME}" )
|
|
set ( LIB_SRC
|
|
${LIB_DIR}/core/aql_profile.cpp
|
|
${LIB_DIR}/core/counters.cpp
|
|
${LIB_DIR}/core/threadtrace.cpp
|
|
${LIB_DIR}/core/spm_data.cpp
|
|
${LIB_DIR}/core/spm_decode.cpp
|
|
${LIB_DIR}/core/spm_v2.cpp
|
|
${LIB_DIR}/core/populate_aql.cpp
|
|
${LIB_DIR}/core/memorymanager.cpp
|
|
${LIB_DIR}/core/pm4_factory.cpp
|
|
${LIB_DIR}/core/gfx9_factory.cpp
|
|
${LIB_DIR}/core/gfx908_factory.cpp
|
|
${LIB_DIR}/core/gfx90a_factory.cpp
|
|
${LIB_DIR}/core/gfx940_factory.cpp
|
|
${LIB_DIR}/core/gfx10_factory.cpp
|
|
${LIB_DIR}/core/gfx11_factory.cpp
|
|
${LIB_DIR}/core/gfx115x_factory.cpp
|
|
${LIB_DIR}/core/gfx12_factory.cpp
|
|
${LIB_DIR}/core/gfx1250_factory.cpp
|
|
${LIB_DIR}/core/vega20_reg_init.cpp
|
|
${LIB_DIR}/core/parse_ip_discovery.cpp
|
|
${LIB_DIR}/core/navi_reg_init.cpp
|
|
${LIB_DIR}/core/ip_offset_table_init.cpp
|
|
${LIB_DIR}/util/hsa_rsrc_factory.cpp
|
|
)
|
|
|
|
add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} )
|
|
add_library (aqlprofile::aqlprofile-lib ALIAS ${TARGET_LIB})
|
|
target_include_directories ( ${TARGET_LIB}
|
|
PUBLIC ${LIB_DIR}
|
|
PRIVATE ${API_PATH}
|
|
${LIB_DIR}/core/include
|
|
)
|
|
if ( WIN32 )
|
|
# Link the module-definition file so the linker exports all public symbols
|
|
target_sources ( ${TARGET_LIB} PRIVATE ${LIB_DIR}/hsa-amd-aqlprofile64.def )
|
|
# Locate the pre-built HIP import library (re-exports all HSA runtime symbols)
|
|
find_library ( AMDHIP64_LIB
|
|
NAMES amdhip64
|
|
HINTS "${AMDHIP64_LIB_DIR}"
|
|
)
|
|
if ( NOT AMDHIP64_LIB OR AMDHIP64_LIB STREQUAL "AMDHIP64_LIB-NOTFOUND" )
|
|
message ( FATAL_ERROR "Failed to find amdhip64 import library for Windows build. Install HIP or set AMDHIP64_LIB_DIR to the directory containing amdhip64.lib." )
|
|
endif ()
|
|
message ( STATUS "---AMDHIP64_LIB: ${AMDHIP64_LIB}" )
|
|
endif ()
|
|
|
|
target_link_libraries( ${TARGET_LIB}
|
|
PRIVATE
|
|
$<$<NOT:$<BOOL:${WIN32}>>:pthread>
|
|
$<$<NOT:$<BOOL:${WIN32}>>:hsa-runtime64::hsa-runtime64>
|
|
$<$<BOOL:${WIN32}>:${AMDHIP64_LIB}>
|
|
PUBLIC
|
|
aqlprofile::headers
|
|
)
|
|
|
|
## Generating definitions
|
|
set ( SCRIPT_DIR "${ROOT_DIR}/script" )
|
|
set ( GFXIP_DIR "${ROOT_DIR}/gfxip" )
|
|
set ( DEF_DIR "${ROOT_DIR}/src/def" )
|
|
set ( BINFO_TEMPL "${SCRIPT_DIR}/gpu_block_info.h" )
|
|
set ( BINFO_DEF "${GFXIP_DIR}/gpu_block_info.h" )
|
|
set ( BINFO_HEADER "${DEF_DIR}/gpu_block_info.h" )
|
|
set ( GFX9_TEMPL "${SCRIPT_DIR}/gfx9_def.h" )
|
|
set ( GFX9_DEF "${GFXIP_DIR}/gfx9_def.h" )
|
|
set ( GFX9_HEADER "${DEF_DIR}/gfx9_def.h" )
|
|
set ( GFX10_TEMPL "${SCRIPT_DIR}/gfx10_def.h" )
|
|
set ( GFX10_DEF "${GFXIP_DIR}/gfx10_def.h" )
|
|
set ( GFX10_HEADER "${DEF_DIR}/gfx10_def.h" )
|
|
set ( GFX11_TEMPL "${SCRIPT_DIR}/gfx11_def.h" )
|
|
set ( GFX11_DEF "${GFXIP_DIR}/gfx11_def.h" )
|
|
set ( GFX11_HEADER "${DEF_DIR}/gfx11_def.h" )
|
|
set ( GFX12_TEMPL "${SCRIPT_DIR}/gfx12_def.h" )
|
|
set ( GFX12_DEF "${GFXIP_DIR}/gfx12_def.h" )
|
|
set ( GFX12_HEADER "${DEF_DIR}/gfx12_def.h" )
|
|
include_directories ( ${ROOT_DIR} )
|
|
add_custom_target( mygenreset
|
|
COMMAND sh -xc "cp ${BINFO_TEMPL} ${BINFO_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX9_TEMPL} ${GFX9_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX10_TEMPL} ${GFX10_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX11_TEMPL} ${GFX11_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX12_TEMPL} ${GFX12_HEADER}"
|
|
)
|
|
add_custom_target( mygen
|
|
COMMAND sh -xc "cp ${BINFO_TEMPL} ${BINFO_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX9_TEMPL} ${GFX9_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX10_TEMPL} ${GFX10_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX11_TEMPL} ${GFX11_HEADER}"
|
|
COMMAND sh -xc "cp ${GFX12_TEMPL} ${GFX12_HEADER}"
|
|
COMMAND sh -xc "sed '/gfx9_def/ s/.*//' ${GFX9_TEMPL} >${GFX9_HEADER}"
|
|
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX9_HEADER} ${GFX9_DEF}"
|
|
COMMAND sh -xc "sed '/gfx10_def/ s/.*//' ${GFX10_TEMPL} >${GFX10_HEADER}"
|
|
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX10_HEADER} ${GFX10_DEF}"
|
|
COMMAND sh -xc "sed '/gfx11_def/ s/.*//' ${GFX11_TEMPL} >${GFX11_HEADER}"
|
|
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX11_HEADER} ${GFX11_DEF}"
|
|
COMMAND sh -xc "sed '/gfx12_def/ s/.*//' ${GFX12_TEMPL} >${GFX12_HEADER}"
|
|
COMMAND sh -xc "${ROOT_DIR}/script/errextr.sh ${GFX12_HEADER} ${GFX12_DEF}"
|
|
COMMAND sh -xc "head -n1 ${BINFO_TEMPL} >${BINFO_HEADER}"
|
|
COMMAND sh -xc "sed 's/_GPU_BLOCKINFO_H_/SRC_DEF_GPU_BLOCK_INFO_H_/' ${BINFO_DEF} >>${BINFO_HEADER}"
|
|
)
|
|
|
|
|
|
add_subdirectory(src/core)
|
|
if(AQLPROFILE_BUILD_TESTS)
|
|
enable_testing()
|
|
include(CTest)
|
|
add_subdirectory(src/util/tests)
|
|
add_subdirectory(src/pm4/tests)
|
|
endif()
|