Skip to content

Commit

Permalink
GPA 3.16 updates
Browse files Browse the repository at this point in the history
  • Loading branch information
eelliott-amd committed Jul 1, 2024
1 parent e86117e commit ebba99f
Show file tree
Hide file tree
Showing 500 changed files with 93,221 additions and 74,170 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ Doc/public
*.a
*.pyc
build/CMakeBuild*/
build/win/
build/mac/
build/linux/

# Visual Studo 2015 cache/options directory
.vs/
Expand Down
12 changes: 6 additions & 6 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ this script everytime you pull new changes from GPA repository.
* C# and Visual Basic Roslyn compilers

##### Build Instructions
* Load cmake_bld\x64\GPUPerfAPI.sln into Visual Studio to build the 64-bit version of GPA.
* Load cmake_bld\x86\GPUPerfAPI.sln into Visual Studio to build the 32-bit version of GPA.
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api\output\$(Configuration)` (e.g. gpu_performance_api\output\release).
* Load build\win\vs2022_x64\GPUPerfAPI-x64.sln into Visual Studio to build the 64-bit version of GPA.
* Load build\win\vs2022_x86\GPUPerfAPI-x86.sln into Visual Studio to build the 32-bit version of GPA.
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api\build\output\(configuration)` (e.g. gpu_performance_api\build\output\debug_x64).

#### Additional Information
* The Windows projects each include a .rc file that embeds the VERSIONINFO resource into the final binary. Internally within AMD, a Jenkins build system will dynamically update.
Expand All @@ -87,9 +87,9 @@ this script everytime you pull new changes from GPA repository.
* `sudo apt-get install mesa-common-dev`

##### Build Instructions
* Execute "make" in the cmake_bld/x64/debug to build the 64-bit debug version of GPA.
* Execute "make" in the cmake_bld/x64/release to build the 64-bit release version of GPA.
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api/output/$(Configuration)` (e.g. gpu_performance_api/output/release).
* Execute "make" in the build/linux/make_debug_x64 to build the 64-bit debug version of GPA.
* Execute "make" in the build/linux/make_release_x64 to build the 64-bit release version of GPA.
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api/build/output/$(Configuration)` (e.g. gpu_performance_api/build/output/debug_x64).

## PublicCounterCompiler Tool
The PublicCounterCompiler Tool is a C# utility that will generate C++ code to define the public (or derived) counters.
Expand Down
17 changes: 8 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
## Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
cmake_minimum_required(VERSION 3.10)

set(DEPTH "./")
Expand All @@ -20,23 +20,22 @@ include(${GPA_CMAKE_MODULES_DIR}/gpa_version.cmake)
include(${GPA_CMAKE_MODULES_DIR}/defs.cmake)
include(${GPA_CMAKE_MODULES_DIR}/build_flags.cmake)

if(${AMDT_INTERNAL_BUILD_FLAG})
include(${CMAKE_COMMON_SRC_GLOBAL_INTERNAL})
if (WIN32)
if (${build-32bit})
set(PlatformSuffix "-x86")
else()
set(PlatformSuffix "-x64")
endif()
endif()

set(GPA_ALL_OPEN_SOURCE ON)

if(${BUILD_ANDROID})
include (${GPA_CMAKE_MODULES_DIR}/android.cmake)

project(GPUPerfAPI-Full${AMDTInternalSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)
include(${GPA_CMAKE_MODULES_DIR}/targets.cmake)

return()
endif()

## Define the GPA solution name
project(GPUPerfAPI${AMDTInternalSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)
project(GPUPerfAPI${PlatformSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)

include(${GPA_CMAKE_MODULES_DIR}/targets.cmake)
message(STATUS "Finished generating project files for GPA.")
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2016-2023 Advanced Micro Devices, Inc. All rights reserved.
Copyright (c) 2016-2024 Advanced Micro Devices, Inc. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion NOTICES.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
DO NOT TRANSLATE OR LOCALIZE


Third-Party Notices Report for GPUPerfAPI v3.15
Third-Party Notices Report for GPUPerfAPI v3.16



Expand Down
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ is used by [Radeon GPU Profiler](https://github.com/GPUOpen-Tools/radeon_gpu_pro
* [Known Issues](#known-issues)
* [Building the Source Code](BUILD.md)
* [License](LICENSE.txt)
* [Historical Release Notes](RELEASE_NOTES.txt)
* [Historical Release Notes](ReleaseNotes.md)
* [Style and Format Change](#Style-and-Format-Change)

## Downloads
Expand All @@ -31,13 +31,18 @@ Prebuilt binaries can be downloaded from the Releases page: https://github.com/G
* Provides access to some raw hardware counters. See [Raw Hardware Counters](#raw-hardware-counters) for more information.

## What's New
### Version 3.15 (12/06/2023)
* Updated minimum CMake version to 3.10 from 3.05.
* Updated equation for MemUnitBusyCycles.
* Updated description of LocalVidMemBytes.
* Renamed *.inc files to .hpp files.
* Reduced size of static buffer when logging messages to avoid compiler warning.
* Fixed an issue on some variant hardware that would prevent enabling certain hardware counters when kGpaOpenContextExposeHardwareCountersBit was specified to GpaOpenContext() by always generating asic-specific counters.
### Version 3.16 (07/01/2024)
* Added support for additional RDNA 3 based APUs.
* GPA's OpenCL support has been temporarily disabled on RDNA 3 hardware.
* Updated error checking in counter splitting to report error if counter group max is zero.
* Disabled the following counters on RDNA 3 based hardware due to inconsistent results:
* CBMemRead, CBColorAndMaskRead, CBMemWritten, CBColorAndMaskWritten
* Disabled the following counters on RDNA 2 based hardware due to inconsistent results:
* VsGsVerticesIn, VsGsPrimsIn
* Disabled the following counters on RDNA based hardware due to inconsistent results:
* VsGsSALUBusy, VsGsSALUBusyCycles, VsGsVALUBusy, VsGsVALUBusyCycles, VsGsVALUInstCount, VsGsSALUInstCount, PSVALUBusy, PSVALUBusyCycles, PSVALUInstCount, PSSALUBusy, PSSALUBusyCycles, PSSALUInstCount
* Output from pre_build.py script is now generated into build\|win,linux|\ directory.
* Compiled binaries are now generated into build\output\ directory.

## System Requirements
* An AMD Radeon GPU or APU based on Graphics IP version 8 and newer.
Expand Down
13 changes: 13 additions & 0 deletions RELEASE_NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# GPU Performance API Release Notes
---
# Version 3.16 (07/01/2024)
* Added support for additional RDNA 3 based APUs.
* GPA's OpenCL support has been temporarily disabled on RDNA 3 hardware.
* Updated error checking in counter splitting to report error if counter group max is zero.
* Disabled the following counters on RDNA 3 based hardware due to inconsistent results:
* CBMemRead, CBColorAndMaskRead, CBMemWritten, CBColorAndMaskWritten
* Disabled the following counters on RDNA 2 based hardware due to inconsistent results:
* VsGsVerticesIn, VsGsPrimsIn
* Disabled the following counters on RDNA based hardware due to inconsistent results:
* VsGsSALUBusy, VsGsSALUBusyCycles, VsGsVALUBusy, VsGsVALUBusyCycles, VsGsVALUInstCount, VsGsSALUInstCount, PSVALUBusy, PSVALUBusyCycles, PSVALUInstCount, PSSALUBusy, PSSALUBusyCycles, PSSALUInstCount
* Output from pre_build.py script is now generated into build\|win,linux|\ directory.
* Compiled binaries are now generated into build\output\ directory.

# Version 3.15 (12/06/2023)
* Updated minimum CMake version to 3.10 from 3.05.
* Updated equation for MemUnitBusyCycles.
Expand Down
12 changes: 1 addition & 11 deletions build/cmake_modules/android.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.
## Copyright (c) 2019-2024 Advanced Micro Devices, Inc. All rights reserved.
cmake_minimum_required(VERSION 3.10)

if (NOT DEFINED ENV{ANDROID_SDK})
Expand Down Expand Up @@ -49,16 +49,6 @@ set(ANDROID_BUILD_TOOLS ${ANDROID_SDK_PATH}/build-tools/24.0.3)
## Build configurations
set(CMAKE_TOOLCHAIN_FILE ${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake)
set(USE_DEFAULT_COMPILER OFF)
set(USE_DEFAULT_OUTPUT_DIRECTORY OFF)
set(GPA_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/output/android)

if(${AMDT_INTERNAL_BUILD_FLAG})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}${AMDTInternalSuffix})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}${AMDTInternalSuffix})
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR})
endif()

set(ANDROID_INCLUDE_DIRECTORIES ${ANDROID_NDK_NATIVE_GLUE_DIR}
${ANDROID_NDK_INC})
Expand Down
16 changes: 6 additions & 10 deletions build/cmake_modules/build_flags.cmake
Original file line number Diff line number Diff line change
@@ -1,23 +1,16 @@
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
## Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
cmake_minimum_required(VERSION 3.10)

## GPA has only Debug and Release
set(CMAKE_CONFIGURATION_TYPES Debug Release)
set(DEPTH "./")

set(OUTPUT_SUFFIX "")

if(NOT DEFINED usingscript)
set(usingscript OFF CACHE BOOL "Turn on to indicate CMake is called using script" FORCE)
endif()

if(NOT DEFINED build-internal)
set(build-internal OFF CACHE BOOL "Turn on to generate internal build")
endif()

if(${build-internal})
set(AMDT_INTERNAL_BUILD_FLAG ON)
endif()


if(${usingscript})
# Platform Control variable
if(NOT DEFINED build-32bit)
Expand All @@ -40,10 +33,13 @@ endif()

if(${build-32bit})
set(CMAKE_SIZEOF_VOID_P 4)
set(OUTPUT_SUFFIX ${OUTPUT_SUFFIX}_x86)
else()
set(CMAKE_SIZEOF_VOID_P 8)
set(OUTPUT_SUFFIX ${OUTPUT_SUFFIX}_x64)
endif()


# DX11 variable
if(NOT DEFINED skipdx11)
set(skipdx11 OFF CACHE BOOL "Turn on to skip DX11 in the build" FORCE)
Expand Down
16 changes: 8 additions & 8 deletions build/cmake_modules/common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ endif()

if(${USE_DEFAULT_OUTPUT_DIRECTORY})
if(WIN32)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
else()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE}${OUTPUT_SUFFIX})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE}${OUTPUT_SUFFIX})
endif()
else()
if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY OR NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
Expand Down
4 changes: 2 additions & 2 deletions build/cmake_modules/defs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.19)

## Define the GPA version
set(GPA_MAJOR_VERSION 3)
set(GPA_MINOR_VERSION 15)
set(GPA_MINOR_VERSION 16)
set(GPA_UPDATE_VERSION 0)

if(NOT DEFINED GPA_BUILD_NUMBER)
Expand All @@ -15,7 +15,7 @@ if(NOT DEFINED GPA_ROOT)
endif()

if(NOT DEFINED GPA_OUTPUT_DIR)
set(GPA_OUTPUT_DIR ${GPA_ROOT}/output)
set(GPA_OUTPUT_DIR ${GPA_ROOT}/build/output)
endif()

## Set the Common Directories
Expand Down
5 changes: 3 additions & 2 deletions build/cmake_modules/gpa_vulkan.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
cmake_minimum_required(VERSION 3.10)

if(${GPA_ALL_OPEN_SOURCE})
find_package(Vulkan REQUIRED)
find_package(Vulkan)
if(${Vulkan_FOUND})
set(VK_INC_DIRS ${Vulkan_INCLUDE_DIRS})
set(VK_LIB ${Vulkan_LIBRARIES})
Expand All @@ -22,7 +22,8 @@ if(${GPA_ALL_OPEN_SOURCE})
set(ADDITIONAL_INCLUDE_DIRECTORIES ${ADDITIONAL_INCLUDE_DIRECTORIES}
${VK_INC_DIRS})
else()
message(STATUS "Vulkan SDK not found")
message(STATUS "Vulkan SDK not found on system, using repo-provided Vulkan.")
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_VULKAN})
endif()
else()
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_VULKAN})
Expand Down
6 changes: 3 additions & 3 deletions scripts/dependencies_map.py → build/dependencies_map.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
# Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
# dependencies_map.py
#
# Map of GitHub project names to clone target paths, relative to the GPUPerfAPI
Expand All @@ -10,14 +10,14 @@
# "git repo name" : ["Directory for clone relative to parent project directory", "branch or commit to checkout (or None for top of tree)"]
gitMapping = {
# Lib.
"adl" : ["external/Lib/AMD/ADL", "da98d7a9d2b8a6222d32c82952ee44bdfc827b2e"],
"adl" : ["external/Lib/AMD/ADL", "7fa9b7fd59bff687be0a40f0178a956c223b2a1e"],
"appsdk" : ["external/Lib/AMD/APPSDK", "55a6940ebc963daec69152314a1bb94943287d4c"],
"opengl" : ["external/Lib/Ext/OpenGL", "792c2291a4443ebef17ca5a7e3e24a1f854f0d1d"],
"windows_kits" : ["external/Lib/Ext/Windows-Kits", "51845a3771122a9dc1406b8617e9a67d9a2f55b6"],
"googletest" : ["external/Lib/Ext/GoogleTest", "191f9336bc9212b5f5410ab663176f685cafed2a"],
# Src.
"adl_util" : ["external/Src/ADLUtil", "d62c94514326775c83fc129bb89d299c8749ebd1"],
"device_info" : ["external/Src/DeviceInfo", "190ec95f2ce1d715231f2ee5e17a65217fc59f6c"],
"device_info" : ["external/Src/DeviceInfo", "00b23198e748e3d235f249cfee6604fce0d43c29"],
"dynamic_library_module" : ["external/Src/DynamicLibraryModule", "e6451ce26b8509cf724c7cf5d007878791143a58"],
"tsingleton" : ["external/Src/TSingleton", "02e8fa7d98f33cdbd0e1f77d1a8a403a32e35882"],
}
Expand Down
Loading

0 comments on commit ebba99f

Please sign in to comment.