Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
90e935c
Add rocpd support for
adjordje-amd Jul 14, 2025
42c6f8a
Fix compile errors, copilot comments
adjordje-amd Jul 15, 2025
72f9dbc
Fix shadowed variables
adjordje-amd Jul 15, 2025
a30bc6c
Fix agent include when ROCM is not used
adjordje-amd Jul 15, 2025
0f14537
Refactor agent manager to work when ROCM is disabled
marantic-amd Jul 16, 2025
dbe430a
Fix compile errors and typos
marantic-amd Jul 17, 2025
f19732b
Fix compile errors and typos
marantic-amd Jul 17, 2025
0ce459b
Move agent and agent_manager from rocpd namespace
adjordje-amd Jul 17, 2025
149fbcd
Merge remote-tracking branch 'refs/remotes/origin/rocpd-implementaion…
adjordje-amd Jul 17, 2025
4a49d03
Replace std::filepath with a timemory filepath impl
adjordje-amd Jul 17, 2025
5b3e238
Fix formatting
adjordje-amd Jul 17, 2025
39f3c62
Fix undefined mpi_send
adjordje-amd Jul 17, 2025
a4c3477
Fix undefined mpi_recv
mradosav-amd Jul 18, 2025
eab5aa3
Move use_rocpd guard in comm_data
mradosav-amd Jul 18, 2025
78b17c5
Adding sqlite-dev to our ci docker images (#280)
dgaliffiAMD Jul 14, 2025
7f67572
Make CMakeFile fixes to align with rocDecode and rocJpeg changes (#281)
sputhala-amd Jul 14, 2025
5ce0a01
Fix ROCtx event ranges in trace output (#278)
darren-amd Jul 14, 2025
42fb5b6
Update gotcha submodule from timemory (#277)
sputhala-amd Jul 15, 2025
fd5b200
Remove an undefined submodule from the GOTCHA submodule (#285)
dgaliffiAMD Jul 16, 2025
2a391b3
Add missing <cstring> include for C string functions in RCCL tests (#…
habajpai-amd Jul 16, 2025
8d4fc85
Add a CMake Presets file (#44)
ajanicijamd Jul 16, 2025
1410eae
Benchmark support same category from different threads
adjordje-amd Jul 18, 2025
0a30239
Merge branch 'amd-staging' into rocpd-implementaion-part-1
adjordje-amd Jul 22, 2025
0449502
Code improvement
adjordje-amd Jul 23, 2025
b7c82a5
Update source/lib/core/rocpd/data_storage/database.cpp
adjordje-amd Jul 23, 2025
8a28622
Add ROCPROFSYS_ENABLE_BENCHMARK option
adjordje-amd Jul 24, 2025
7a5ba53
Update CHANGELOGS.md
dgaliffiAMD Jul 24, 2025
4dc5da4
Renamed `rocpd_process_kokos_event` to `rocpd_process_kokkos_event`
dgaliffiAMD Jul 24, 2025
08f5579
Fixed typo
dgaliffiAMD Jul 24, 2025
7d066d2
Address comments
adjordje-amd Jul 25, 2025
2ca38d1
Revert examples/jpegdecode/CmakeLists.txt
adjordje-amd Jul 25, 2025
72b71ea
Revert rocprofiler-sdk.cpp
adjordje-amd Jul 25, 2025
1c2332e
Merge branch 'amd-staging' into rocpd-implementaion-part-1
adjordje-amd Jul 25, 2025
4b5bf3c
Update CMakeLists.txt
adjordje-amd Jul 25, 2025
40874db
Update source/lib/core/rocpd/data_processor.cpp
dgaliffiAMD Jul 25, 2025
7a429bf
format source
dgaliffiAMD Jul 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@
[submodule "external/pybind11"]
path = external/pybind11
url = https://github.com/jrmadsen/pybind11.git
[submodule "external/sqlite"]
path = external/sqlite
url = https://github.com/sqlite/sqlite.git
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Full documentation for ROCm Systems Profiler is available at [https://rocm.docs.
- How-to document for VCN and JPEG activity sampling and tracing.
- Support for tracing Fortran applications.
- Support for tracing MPI API in Fortran.
- Initial support for rocPD database output with the `ROCPROFSYS_USE_ROCPD` configuration setting.
- By default, group "kernel dispatch" and "memory copy" events by HIP stream ID in Perfetto traces.
- Add the "ROCPROFSYS_ROCM_GROUP_BY_QUEUE" configuration setting to group events by queue, instead.

Expand Down
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,12 @@ rocprofiler_systems_add_option(ROCPROFSYS_BUILD_CODECOV "Build for code coverage
rocprofiler_systems_add_option(ROCPROFSYS_INSTALL_PERFETTO_TOOLS
"Install perfetto tools (i.e. traced, perfetto, etc.)" OFF
)
rocprofiler_systems_add_option(ROCPROFILER_BUILD_SQLITE3
"Enable building sqlite3 library internally" OFF
)
rocprofiler_systems_add_option(ROCPROFSYS_ENABLE_BENCHMARK
"Enable performance benchmarking capabilities for the project" OFF
)

if(ROCPROFSYS_USE_PAPI)
rocprofiler_systems_add_option(ROCPROFSYS_BUILD_PAPI "Build PAPI from submodule" ON)
Expand Down Expand Up @@ -328,6 +334,10 @@ if(ROCPROFSYS_BUILD_TESTING OR "$ENV{ROCPROFSYS_CI}" MATCHES "[1-9]+|ON|on|y|yes
include(CTest)
endif()

if(ROCPROFSYS_ENABLE_BENCHMARK)
add_compile_definitions(-DROCPROFSYS_USE_BENCHMARK=1)
endif()

# ------------------------------------------------------------------------------#
#
# library and executables
Expand Down
11 changes: 11 additions & 0 deletions cmake/Packages.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ rocprofiler_systems_add_interface_library(rocprofiler-systems-python
rocprofiler_systems_add_interface_library(rocprofiler-systems-perfetto
"Enables Perfetto support"
)
rocprofiler_systems_add_interface_library(rocprofiler-systems-sqlite3
"Use SQLite3 for rocpd data storage"
)
rocprofiler_systems_add_interface_library(rocprofiler-systems-timemory
"Provides timemory libraries"
)
Expand Down Expand Up @@ -532,6 +535,14 @@ rocprofiler_systems_checkout_git_submodule(

include(Perfetto)

# ----------------------------------------------------------------------------------------#
#
# SQLite3
#
# ----------------------------------------------------------------------------------------#

include(SQLite3)

# ----------------------------------------------------------------------------------------#
#
# ELFIO
Expand Down
48 changes: 48 additions & 0 deletions cmake/SQLite3.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
include_guard(GLOBAL)

if(ROCPROFILER_BUILD_SQLITE3)
message(STATUS "Building SQLite3 from source!")
execute_process(
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/external/sqlite
)
# checkout submodule if not already checked out or clone repo if no .gitmodules file
rocprofiler_systems_checkout_git_submodule(
RELATIVE_PATH external/sqlite
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
TEST_FILE configure
REPO_URL https://github.com/sqlite/sqlite.git
REPO_BRANCH "version-3.45.3"
)

find_program(MAKE_COMMAND NAMES make gmake PATH_SUFFIXES bin REQUIRED)

include(ExternalProject)
ExternalProject_Add(
rocprofiler-systems-sqlite-build
PREFIX ${PROJECT_BINARY_DIR}/external/sqlite/build
SOURCE_DIR ${PROJECT_SOURCE_DIR}/external/sqlite
BUILD_IN_SOURCE 0
CONFIGURE_COMMAND
<SOURCE_DIR>/configure --prefix=${PROJECT_BINARY_DIR}/external/sqlite/install
--libdir=${PROJECT_BINARY_DIR}/external/sqlite/install/lib --disable-shared
--with-tempstore=yes --enable-all --disable-tcl CFLAGS=-O3\ -g1
BUILD_COMMAND ${MAKE_COMMAND} install -s
INSTALL_COMMAND ""
)

target_link_libraries(
rocprofiler-systems-sqlite3
INTERFACE
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/external/sqlite/install/lib/libsqlite3.a>
)
target_include_directories(
rocprofiler-systems-sqlite3
SYSTEM
INTERFACE $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/external/sqlite/install/include>
)
add_dependencies(rocprofiler-systems-sqlite3 rocprofiler-systems-sqlite-build)
else()
message(STATUS "Using system SQLite3 library")
find_package(SQLite3 REQUIRED)
target_link_libraries(rocprofiler-systems-sqlite3 INTERFACE SQLite::SQLite3)
endif()
3 changes: 2 additions & 1 deletion source/bin/rocprof-sys-avail/avail.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ write_hw_counter_info(std::ostream&, const array_t<bool, N>& = {},
namespace
{
// initialize HIP before main so that librocprof-sys is not HSA_TOOLS_LIB
int gpu_count = rocprofsys::gpu::device_count();
int gpu_count = 0;

// statically allocated shared_ptrs to prevent use after free errors
auto timemory_manager = tim::manager::master_instance();
Expand All @@ -138,6 +138,7 @@ main(int argc, char** argv)
tim::unwind::set_bfd_verbose(3);
tim::set_env("ROCPROFSYS_INIT_TOOLING", "OFF", 1);
rocprofsys_init_library();
gpu_count = rocprofsys::gpu::device_count();

std::set<std::string> _category_options = component_categories{}();
{
Expand Down
1 change: 1 addition & 0 deletions source/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ target_link_libraries(
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-compile-options>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-compile-definitions>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-perfetto>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-sqlite3>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-timemory>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-elfutils>
$<BUILD_INTERFACE:rocprofiler-systems::rocprofiler-systems-bfd>
Expand Down
2 changes: 2 additions & 0 deletions source/lib/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ target_sources(
${CMAKE_CURRENT_SOURCE_DIR}/invoke.hpp
${CMAKE_CURRENT_SOURCE_DIR}/join.hpp
${CMAKE_CURRENT_SOURCE_DIR}/setup.hpp
${CMAKE_CURRENT_SOURCE_DIR}/traits.hpp
${CMAKE_CURRENT_SOURCE_DIR}/md5sum.hpp
${CMAKE_CURRENT_SOURCE_DIR}/static_object.hpp
${CMAKE_CURRENT_SOURCE_DIR}/synchronized.hpp
)
Expand Down
Loading
Loading