Skip to content

Commit ebba99f

Browse files
committed
GPA 3.16 updates
1 parent e86117e commit ebba99f

File tree

500 files changed

+93221
-74170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

500 files changed

+93221
-74170
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ Doc/public
2828
*.a
2929
*.pyc
3030
build/CMakeBuild*/
31+
build/win/
32+
build/mac/
33+
build/linux/
3134

3235
# Visual Studo 2015 cache/options directory
3336
.vs/

BUILD.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ this script everytime you pull new changes from GPA repository.
7272
* C# and Visual Basic Roslyn compilers
7373

7474
##### Build Instructions
75-
* Load cmake_bld\x64\GPUPerfAPI.sln into Visual Studio to build the 64-bit version of GPA.
76-
* Load cmake_bld\x86\GPUPerfAPI.sln into Visual Studio to build the 32-bit version of GPA.
77-
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api\output\$(Configuration)` (e.g. gpu_performance_api\output\release).
75+
* Load build\win\vs2022_x64\GPUPerfAPI-x64.sln into Visual Studio to build the 64-bit version of GPA.
76+
* Load build\win\vs2022_x86\GPUPerfAPI-x86.sln into Visual Studio to build the 32-bit version of GPA.
77+
* 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).
7878

7979
#### Additional Information
8080
* 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.
@@ -87,9 +87,9 @@ this script everytime you pull new changes from GPA repository.
8787
* `sudo apt-get install mesa-common-dev`
8888

8989
##### Build Instructions
90-
* Execute "make" in the cmake_bld/x64/debug to build the 64-bit debug version of GPA.
91-
* Execute "make" in the cmake_bld/x64/release to build the 64-bit release version of GPA.
92-
* After a successful build, the GPUPerfAPI binaries can be found in `gpu_performance_api/output/$(Configuration)` (e.g. gpu_performance_api/output/release).
90+
* Execute "make" in the build/linux/make_debug_x64 to build the 64-bit debug version of GPA.
91+
* Execute "make" in the build/linux/make_release_x64 to build the 64-bit release version of GPA.
92+
* 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).
9393

9494
## PublicCounterCompiler Tool
9595
The PublicCounterCompiler Tool is a C# utility that will generate C++ code to define the public (or derived) counters.

CMakeLists.txt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
1+
## Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
22
cmake_minimum_required(VERSION 3.10)
33

44
set(DEPTH "./")
@@ -20,23 +20,22 @@ include(${GPA_CMAKE_MODULES_DIR}/gpa_version.cmake)
2020
include(${GPA_CMAKE_MODULES_DIR}/defs.cmake)
2121
include(${GPA_CMAKE_MODULES_DIR}/build_flags.cmake)
2222

23-
if(${AMDT_INTERNAL_BUILD_FLAG})
24-
include(${CMAKE_COMMON_SRC_GLOBAL_INTERNAL})
23+
if (WIN32)
24+
if (${build-32bit})
25+
set(PlatformSuffix "-x86")
26+
else()
27+
set(PlatformSuffix "-x64")
28+
endif()
2529
endif()
2630

2731
set(GPA_ALL_OPEN_SOURCE ON)
2832

2933
if(${BUILD_ANDROID})
3034
include (${GPA_CMAKE_MODULES_DIR}/android.cmake)
31-
32-
project(GPUPerfAPI-Full${AMDTInternalSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)
33-
include(${GPA_CMAKE_MODULES_DIR}/targets.cmake)
34-
35-
return()
3635
endif()
3736

3837
## Define the GPA solution name
39-
project(GPUPerfAPI${AMDTInternalSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)
38+
project(GPUPerfAPI${PlatformSuffix} VERSION ${GPA_MAJOR_VERSION}.${GPA_MINOR_VERSION} LANGUAGES C CXX)
4039

4140
include(${GPA_CMAKE_MODULES_DIR}/targets.cmake)
4241
message(STATUS "Finished generating project files for GPA.")

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2016-2023 Advanced Micro Devices, Inc. All rights reserved.
1+
Copyright (c) 2016-2024 Advanced Micro Devices, Inc. All rights reserved.
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

NOTICES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
DO NOT TRANSLATE OR LOCALIZE
22

33

4-
Third-Party Notices Report for GPUPerfAPI v3.15
4+
Third-Party Notices Report for GPUPerfAPI v3.16
55

66

77

README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ is used by [Radeon GPU Profiler](https://github.com/GPUOpen-Tools/radeon_gpu_pro
1616
* [Known Issues](#known-issues)
1717
* [Building the Source Code](BUILD.md)
1818
* [License](LICENSE.txt)
19-
* [Historical Release Notes](RELEASE_NOTES.txt)
19+
* [Historical Release Notes](ReleaseNotes.md)
2020
* [Style and Format Change](#Style-and-Format-Change)
2121

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

3333
## What's New
34-
### Version 3.15 (12/06/2023)
35-
* Updated minimum CMake version to 3.10 from 3.05.
36-
* Updated equation for MemUnitBusyCycles.
37-
* Updated description of LocalVidMemBytes.
38-
* Renamed *.inc files to .hpp files.
39-
* Reduced size of static buffer when logging messages to avoid compiler warning.
40-
* 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.
34+
### Version 3.16 (07/01/2024)
35+
* Added support for additional RDNA 3 based APUs.
36+
* GPA's OpenCL support has been temporarily disabled on RDNA 3 hardware.
37+
* Updated error checking in counter splitting to report error if counter group max is zero.
38+
* Disabled the following counters on RDNA 3 based hardware due to inconsistent results:
39+
* CBMemRead, CBColorAndMaskRead, CBMemWritten, CBColorAndMaskWritten
40+
* Disabled the following counters on RDNA 2 based hardware due to inconsistent results:
41+
* VsGsVerticesIn, VsGsPrimsIn
42+
* Disabled the following counters on RDNA based hardware due to inconsistent results:
43+
* VsGsSALUBusy, VsGsSALUBusyCycles, VsGsVALUBusy, VsGsVALUBusyCycles, VsGsVALUInstCount, VsGsSALUInstCount, PSVALUBusy, PSVALUBusyCycles, PSVALUInstCount, PSSALUBusy, PSSALUBusyCycles, PSSALUInstCount
44+
* Output from pre_build.py script is now generated into build\|win,linux|\ directory.
45+
* Compiled binaries are now generated into build\output\ directory.
4146

4247
## System Requirements
4348
* An AMD Radeon GPU or APU based on Graphics IP version 8 and newer.

RELEASE_NOTES.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# GPU Performance API Release Notes
22
---
3+
# Version 3.16 (07/01/2024)
4+
* Added support for additional RDNA 3 based APUs.
5+
* GPA's OpenCL support has been temporarily disabled on RDNA 3 hardware.
6+
* Updated error checking in counter splitting to report error if counter group max is zero.
7+
* Disabled the following counters on RDNA 3 based hardware due to inconsistent results:
8+
* CBMemRead, CBColorAndMaskRead, CBMemWritten, CBColorAndMaskWritten
9+
* Disabled the following counters on RDNA 2 based hardware due to inconsistent results:
10+
* VsGsVerticesIn, VsGsPrimsIn
11+
* Disabled the following counters on RDNA based hardware due to inconsistent results:
12+
* VsGsSALUBusy, VsGsSALUBusyCycles, VsGsVALUBusy, VsGsVALUBusyCycles, VsGsVALUInstCount, VsGsSALUInstCount, PSVALUBusy, PSVALUBusyCycles, PSVALUInstCount, PSSALUBusy, PSSALUBusyCycles, PSSALUInstCount
13+
* Output from pre_build.py script is now generated into build\|win,linux|\ directory.
14+
* Compiled binaries are now generated into build\output\ directory.
15+
316
# Version 3.15 (12/06/2023)
417
* Updated minimum CMake version to 3.10 from 3.05.
518
* Updated equation for MemUnitBusyCycles.

build/cmake_modules/android.cmake

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Copyright (c) 2019-2023 Advanced Micro Devices, Inc. All rights reserved.
1+
## Copyright (c) 2019-2024 Advanced Micro Devices, Inc. All rights reserved.
22
cmake_minimum_required(VERSION 3.10)
33

44
if (NOT DEFINED ENV{ANDROID_SDK})
@@ -49,16 +49,6 @@ set(ANDROID_BUILD_TOOLS ${ANDROID_SDK_PATH}/build-tools/24.0.3)
4949
## Build configurations
5050
set(CMAKE_TOOLCHAIN_FILE ${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake)
5151
set(USE_DEFAULT_COMPILER OFF)
52-
set(USE_DEFAULT_OUTPUT_DIRECTORY OFF)
53-
set(GPA_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/output/android)
54-
55-
if(${AMDT_INTERNAL_BUILD_FLAG})
56-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}${AMDTInternalSuffix})
57-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}${AMDTInternalSuffix})
58-
else()
59-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR})
60-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR})
61-
endif()
6252

6353
set(ANDROID_INCLUDE_DIRECTORIES ${ANDROID_NDK_NATIVE_GLUE_DIR}
6454
${ANDROID_NDK_INC})

build/cmake_modules/build_flags.cmake

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
## Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
1+
## Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
22
cmake_minimum_required(VERSION 3.10)
33

44
## GPA has only Debug and Release
55
set(CMAKE_CONFIGURATION_TYPES Debug Release)
66
set(DEPTH "./")
77

8+
set(OUTPUT_SUFFIX "")
9+
810
if(NOT DEFINED usingscript)
911
set(usingscript OFF CACHE BOOL "Turn on to indicate CMake is called using script" FORCE)
1012
endif()
1113

12-
if(NOT DEFINED build-internal)
13-
set(build-internal OFF CACHE BOOL "Turn on to generate internal build")
14-
endif()
15-
16-
if(${build-internal})
17-
set(AMDT_INTERNAL_BUILD_FLAG ON)
18-
endif()
19-
20-
2114
if(${usingscript})
2215
# Platform Control variable
2316
if(NOT DEFINED build-32bit)
@@ -40,10 +33,13 @@ endif()
4033

4134
if(${build-32bit})
4235
set(CMAKE_SIZEOF_VOID_P 4)
36+
set(OUTPUT_SUFFIX ${OUTPUT_SUFFIX}_x86)
4337
else()
4438
set(CMAKE_SIZEOF_VOID_P 8)
39+
set(OUTPUT_SUFFIX ${OUTPUT_SUFFIX}_x64)
4540
endif()
4641

42+
4743
# DX11 variable
4844
if(NOT DEFINED skipdx11)
4945
set(skipdx11 OFF CACHE BOOL "Turn on to skip DX11 in the build" FORCE)

build/cmake_modules/common.cmake

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ endif()
3838

3939
if(${USE_DEFAULT_OUTPUT_DIRECTORY})
4040
if(WIN32)
41-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
42-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
43-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
44-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
45-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release)
46-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug)
41+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
42+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
43+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
44+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
45+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${GPA_OUTPUT_DIR}/release${OUTPUT_SUFFIX})
46+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${GPA_OUTPUT_DIR}/debug${OUTPUT_SUFFIX})
4747
else()
48-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE})
49-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE})
48+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE}${OUTPUT_SUFFIX})
49+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${GPA_OUTPUT_DIR}/${CMAKE_BUILD_TYPE}${OUTPUT_SUFFIX})
5050
endif()
5151
else()
5252
if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY OR NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)

build/cmake_modules/defs.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.19)
33

44
## Define the GPA version
55
set(GPA_MAJOR_VERSION 3)
6-
set(GPA_MINOR_VERSION 15)
6+
set(GPA_MINOR_VERSION 16)
77
set(GPA_UPDATE_VERSION 0)
88

99
if(NOT DEFINED GPA_BUILD_NUMBER)
@@ -15,7 +15,7 @@ if(NOT DEFINED GPA_ROOT)
1515
endif()
1616

1717
if(NOT DEFINED GPA_OUTPUT_DIR)
18-
set(GPA_OUTPUT_DIR ${GPA_ROOT}/output)
18+
set(GPA_OUTPUT_DIR ${GPA_ROOT}/build/output)
1919
endif()
2020

2121
## Set the Common Directories

build/cmake_modules/gpa_vulkan.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
cmake_minimum_required(VERSION 3.10)
33

44
if(${GPA_ALL_OPEN_SOURCE})
5-
find_package(Vulkan REQUIRED)
5+
find_package(Vulkan)
66
if(${Vulkan_FOUND})
77
set(VK_INC_DIRS ${Vulkan_INCLUDE_DIRS})
88
set(VK_LIB ${Vulkan_LIBRARIES})
@@ -22,7 +22,8 @@ if(${GPA_ALL_OPEN_SOURCE})
2222
set(ADDITIONAL_INCLUDE_DIRECTORIES ${ADDITIONAL_INCLUDE_DIRECTORIES}
2323
${VK_INC_DIRS})
2424
else()
25-
message(STATUS "Vulkan SDK not found")
25+
message(STATUS "Vulkan SDK not found on system, using repo-provided Vulkan.")
26+
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_VULKAN})
2627
endif()
2728
else()
2829
include(${CMAKE_COMMON_LIB_GLOBAL_EXT_VULKAN})

scripts/dependencies_map.py renamed to build/dependencies_map.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
1+
# Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
22
# dependencies_map.py
33
#
44
# Map of GitHub project names to clone target paths, relative to the GPUPerfAPI
@@ -10,14 +10,14 @@
1010
# "git repo name" : ["Directory for clone relative to parent project directory", "branch or commit to checkout (or None for top of tree)"]
1111
gitMapping = {
1212
# Lib.
13-
"adl" : ["external/Lib/AMD/ADL", "da98d7a9d2b8a6222d32c82952ee44bdfc827b2e"],
13+
"adl" : ["external/Lib/AMD/ADL", "7fa9b7fd59bff687be0a40f0178a956c223b2a1e"],
1414
"appsdk" : ["external/Lib/AMD/APPSDK", "55a6940ebc963daec69152314a1bb94943287d4c"],
1515
"opengl" : ["external/Lib/Ext/OpenGL", "792c2291a4443ebef17ca5a7e3e24a1f854f0d1d"],
1616
"windows_kits" : ["external/Lib/Ext/Windows-Kits", "51845a3771122a9dc1406b8617e9a67d9a2f55b6"],
1717
"googletest" : ["external/Lib/Ext/GoogleTest", "191f9336bc9212b5f5410ab663176f685cafed2a"],
1818
# Src.
1919
"adl_util" : ["external/Src/ADLUtil", "d62c94514326775c83fc129bb89d299c8749ebd1"],
20-
"device_info" : ["external/Src/DeviceInfo", "190ec95f2ce1d715231f2ee5e17a65217fc59f6c"],
20+
"device_info" : ["external/Src/DeviceInfo", "00b23198e748e3d235f249cfee6604fce0d43c29"],
2121
"dynamic_library_module" : ["external/Src/DynamicLibraryModule", "e6451ce26b8509cf724c7cf5d007878791143a58"],
2222
"tsingleton" : ["external/Src/TSingleton", "02e8fa7d98f33cdbd0e1f77d1a8a403a32e35882"],
2323
}

0 commit comments

Comments
 (0)