Jonathan R. Madsen
a76f61a0a3
Migrate to rocprofiler-sdk:: namespace in CMake everywhere ( #892 )
...
- remove all usage/support for rocprofiler:: namespace
2024-05-29 22:28:43 -05:00
Jonathan R. Madsen
48273d6a65
Remove -Wno-missing-field-initializers from build flags ( #810 )
...
* Remove -Wno-missing-field-initializers
- Compiler errors if missing field initializers
* Update lib/rocprofiler-sdk/counters/evaluate_ast.cpp
- copy over dispatch ID in perform_reduction/evaluate
2024-04-22 22:26:01 -05:00
Gopesh Bhardwaj
e2d8ccad4b
adding pandas and pytest to rquirements.txt ( #748 )
...
* adding pandas and pytest to rquirements.txt
* setting up requrements.txt
* Update requirements
- formatting packages
- remove packages not directly used by rocprofiler-sdk
* Update cmake formatting, linting, and options
- if BUILD_CI -> force BUILD_DEVELOPER and BUILD_WERROR
- support python installed clang-format and python installed clang-tidy
* Update build.sh
- split into install-deps.sh and install-apt-deps.sh
* Improve code coverage
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
2024-04-09 07:24:40 -05:00
SrirakshaNag
bef14ad1b2
rocprofiler-sdk-tool library intermediate binary output ( #734 )
...
* Support for binary temporary files
* clang formatting
* formating ring buffer.hpp
* Update source/lib/common/container/ring_buffer.hpp
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fixing bugs
* fix loop range
* Fix for v3 test failures
* bug fix
* fix bug
* fix memory leaks
* destructing agent_info
* Update CMakeLists.txt
* clang-tidy fixes
* Fix data race on destructor of rocprofiler_agent_t map in rocprofiler-sdk-tool library
* Create lib/rocproifler-sdk-tool/tmp_file.*
- move tmp_file class into separate header/implementation
* Agent Info CSV in rocprofiler-sdk-tool
- update tests to use agent_info.csv instead of rocminfo
* Update lib/rocprofiler-sdk-tool/tool.cpp
- use logical_node_id instead of node_id
* Adding stats file
* Adding tests for stats
* Update scratch memory support
- convert scratch memory support to use binary output
* Tool Update: scratch memory stats + extended statistics
- replace generate_*_csv with generate_csv overloads
- added generate_csv for scratch memory
- enable stats for scratch memory
- replace ROCPROF_*_STATS env variables with ROCPROF_STATS env variable
* rocprofv3 update
- simple --stats option
- add scratch memory trace to --sys-trace
* Update tests/rocprofv3/tracing-hip-in-libraries
- extend validate.py to test stats data
- fix conftest.py for memory_copy_stats_data
* Code coverage fixes
- invoke __gcov_dump to ensure that code coverage is flushed after finalization
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ammar ELWazir <ammar.elwazir@amd.com >
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
2024-04-09 05:25:28 -05:00
Jonathan R. Madsen
a1267e1fd2
C compatibility for public headers ( #566 )
...
* C compatibility for public headers
- add tests/tools/c-tool.c
- builds a tool (which does nothing) with C language
- ensures that tool can be compiled in C
- add tests/c-tool/CMakeLists.txt
- ensures that tool library build from C is a valid tool
- rocprofiler_counter_info_v0_t is_derived is int instead of bool
- C does not have bool unless <stdbool.h> is included
- add `include/rocprofiler-sdk/hsa/api_trace_version.h
- handles providing HSA_*_TABLE_(MAJOR|STEP)_VERSION values if compiled from C
- cmake define in version.h.in for ROCPROFILER_HSA_*_TABLE_(MAJOR|STEP)_VERSION
- HSA table versions compiled with
- use rocprofiler_(hsa|hip|marker)_api_no_args struct to handle incompatibility b/t empty structs in C vs. C++ (size of 0 vs. size of 1)
- extern "C" in include/rocprofiler-sdk/{hsa,hip,marker}/api_args.h
- fixed spelling error: derrived -> derived
- scope YY_NO_INPUT compile definition to lib/rocprofiler-sdk/counters/parser/*
* Revert CDash dashboard
2024-02-29 23:49:54 -06:00
Jonathan R. Madsen
95c0a17a91
Update cmake/rocprofiler_build_settings.cmake ( #419 )
...
- always compile with -Wno-missing-field-initializers instead of just in developer mode
2024-01-26 02:41:36 -08:00
Benjamin Welton
0dd0cad2e4
Build fixes for clang 10 ( #339 )
...
* Build fixes for clang 10
fixes build warnings in clang10
* source formatting (clang-format v11) (#340 )
Co-authored-by: bwelton <bwelton@users.noreply.github.com >
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com >
2024-01-05 15:20:11 -08:00
Ammar ELWazir
fe5d074375
Misc updates for distribution ( #233 )
...
* Adding tools support
* cmake formatting (cmake-format) (#227 )
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com >
* Checking to do rebase
* Adding rocprofv2 script
* cmake formatting (cmake-format) (#229 )
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com >
* Fixing build for the tool
* Removing the requirement for rocm_version
* Update rocprofiler_utilities.cmake
* C++ filesystem fixes
- added source/lib/common/filesystem.hpp
- support older compilers which have <experimental/filesystem> and do not have <filesystem>
- added samples/common/filesystem.hpp
- samples now depend on "common" library which provides the correct filesystem header
- renamed rocprofiler-stdcxxfs interface target to rocprofiler-cxx-filesystem
- support old LLVM in addition to GNU
- fix bin/rocprof/rocprof.cpp
- was using VLA
* Fix rocprofiler-drm include directories
- OpenSUSE only has include/libdrm/drm.h (no include/drm/drm.h)
* Tools fixes
* Fix for the tools
* Fix rocprofv2 script
* Fixing Filesystem Issues
* source formatting (clang-format v11) (#234 )
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com >
* Vlaindic/pc sampling api update (#235 )
* pcs: updating PC sampling API
* source formatting (clang-format v11) (#232 )
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com >
---------
Co-authored-by: vlaindic <vladimir.indic@amd.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com >
* Vlaindic/pc sampling api update for ammar branch (#244 )
*Updating the documentation inside pc_sampling.h
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com >
* pcs: use @p in front of params
* pcs: documenting struct fields updated
* Fixing PC Sampling Documentation issues
* Fixing PC Sampling Documentation
* Relocated tools directory to source/lib/rocprofiler-tool
* Fixes/updates to rocprofiler-tool
- updated CMake
- Fixed miscellaneous issues in the code (VLAs, etc.)
- Updated rocprofv2 to reflect some minor env variables changes in rocprofiler-tool
- Fixed clang-tidy warnings
* Update lib/rocprofiler-tool/CMakeLists.txt
- link to atomic library
* Add $ORIGIN/.. RUNPATH to rocprofiler-tool
* Adding readme file for tools
* Renaming the tools readme file
* Update ReadMe.md
* Update ReadMe.md
* Documentation updates
- overview and explanation of design and concepts
* Fix lib/rocprofiler-tool/README.md
- delete ReadMe.md
* Hacks for build
* Update Filesystem
* cmake formatting (cmake-format) (#248 )
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com >
* source formatting (clang-format v11) (#249 )
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com >
* source formatting (clang-format v11) (#250 )
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com >
* Addressing review comments on the tool readme file
* Revert "Hacks for build"
This reverts commit d6688cb3d1226c46fc97e37ced889a5b0d180940.
* Fixes for GCC 7.5 compiler in OpenSUSE 15.4
* Update lib/rocprofiler-tool/CMakeLists.txt
- link to AQL profile library
* Fix lib/rocprofiler-tool/README.md
- fix markdown
* Fix lib/rocprofiler-tool
- fix usage of hsa_ven_amd_loader_query_host_address
* Fix unused variable warnings
- byproduct of variables only used in assert statements
* Update docs
- update about.md
- more "Important Changes" section here
- update tool_library_overview.md
- extend "Tool Library Design" section
- write "Tool Initialization" section
- write "Tool Finalization" section
* Add ghc::filesystem submodule
* Implement usage of ghc::filesystem
* Add ROCPROFILER_BUILD_GHC_FS option
- option to use external/filesystem (ghc)
* Update samples/counter-collection
- compile flags
- common library
- fixes for warnings
* Update tests/kernel-tracing/CMakeLists.txt
- change install location of kernel-tracing-test-tool and install rpath
* Update samples/common/CMakeLists.txt
- compile features requiring C++17
* Update lib/rocprofiler-tool/tool.cpp
- remove include <filesystem>
- comment out unused variable
- remove unused functions
- move some functions into anonymous namespace
---------
Co-authored-by: Sriraksha Nagaraj <Sriraksha.Nagaraj@amd.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SrirakshaNag <SrirakshaNag@users.noreply.github.com >
Co-authored-by: gobhardw <gopesh.bhardwaj@amd.com >
Co-authored-by: bgopesh <bgopesh@users.noreply.github.com >
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com >
Co-authored-by: ammarwa <ammarwa@users.noreply.github.com >
Co-authored-by: vlaindic <vladimir.indic@amd.com >
Co-authored-by: vlaindic <vlaindic@users.noreply.github.com >
Co-authored-by: Vladimir Indic <139573562+vlaindic@users.noreply.github.com >
Co-authored-by: Benjamin Welton <bewelton@amd.com >
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
2023-11-28 10:04:37 -06:00
Jonathan R. Madsen
6fb9000fa1
Agent Implementation ( #78 )
...
* Agent Implementation
* Remove unused Findrocprofiler
* Update lib/rocprofiler/hsa/agent.{hpp,cpp}
- default AgentInfo ctor
- getNumaNode() const
- noexcept move ctors
- default initializers for member variables
- fixed clang-tidy recommentations
- preallocate
- static in anon namespace
- AgentInfo::setName uses strncpy and ensures that it is terminated
* Update lib/rocprofiler/rocprofiler.cpp (agent.cpp and pc_sampling.cpp)
- move public PC sampling function implementations to pc_sampling.cpp
- move public agent function implementation to agent.cpp
2023-09-22 11:51:21 -07:00
Jonathan R. Madsen
34505943b2
Linting workflow and clang-tidy fixes ( #72 )
...
* Update source/{bin,lib/{common,rocprofiler}}/CMakeLists.txt
- activate clang-tidy
* Update PTL submodule
- clang-tidy fixes
* Update .clang-tidy
- ignore performance-enum-size
* Update CI workflow
- update paths-ignore
* Add linting workflow
- runs clang-tidy
* Update cmake/rocprofiler_build_settings.cmake
- minor modification of flags not recognized by clang-tidy
* Update samples (all of them)
- rocprofiler-samples-build-flags target with -W -Wall -Wextra -Wshadow [-Werror]
- Link samples targets to rocprofiler-samples-build-flags if target exists
- Remove unused variable in main.cpp of api_{buffered,callback}_tracing
- Update samples/pc_sampling
- single-user-multiple-agents.cpp ends up with unused function find_first_gpu_agent() error
- change find_first_gpu_agent to return std::optional<rocprofiler_agent_t>
- change usage after call to find_first_gpu_agent()
- use find_first_gpu_agent() in single-user-multiple-agents.cpp to determine if there are any GPUs
* Update linting workflow
- fix path to run-ci.py script
* Update linting workflow
- install cmake
* Update common/container/stable_vector.hpp
- fix clang-tidy warning for readability-container-size-empty
2023-09-21 14:35:20 -05:00
Benjamin Welton
28272b3e5f
Fix building of PC Sampling Experiment ( #22 )
...
* Fix pc_sample building
* source formatting (clang-format v11) (#43 )
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com >
* Update samples/pc_sampling/CMakeLists.txt
* Allow static_asserts from hsa/types.hpp to be disabled via build flags (#24 )
* Fix pc_sample building
* Fix up hsa type checks
* Fix pc_sample building
* source formatting (clang-format v11)
* Revert check, now allow checks to be disabled by
compiler defines.
* Update samples/pc_sampling/common.h
---------
Co-authored-by: bwelton <bwelton@users.noreply.github.com >
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
* Update single-user-host-trap-retries-service-instantiation.cpp
- include vector
---------
Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: bwelton <bwelton@users.noreply.github.com >
2023-09-07 00:06:06 -05:00
Jonathan R. Madsen
527aa71f5a
Initial skeleton ( #1 )
...
* googletest submodule
* cmake folder
* misc root files
- clang-format
- cmake-format
- pyproject.toml
- requirements.txt
- VERSION
* workflows
* RPM files
* external folder
* samples folder
* tests root folder
* source/bin folder
* source/include folder
* source/lib/common folder
* source/lib/plugins folder
* source/lib/tests folder
- for library unit tests
* source/lib/rocprofiler folder
- rocprofiler library implementation
* Remaining cmake files
* lib/common/containers
- ring_buffer
- atomic_ring_buffer
- stable_vector
- static_vector
* Update .gitignore
* Update hsa.hpp
- include cstdint
* cmake formatting (cmake-format) (#2 )
Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com >
* Remove linting.yml
- uses self-hosted runners
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-08 18:39:01 -05:00