Energy profiling tools: Variorum-based measurement tool#302
Draft
ethan-puyaubreau wants to merge 13 commits intokokkos:developfrom
Draft
Energy profiling tools: Variorum-based measurement tool#302ethan-puyaubreau wants to merge 13 commits intokokkos:developfrom
ethan-puyaubreau wants to merge 13 commits intokokkos:developfrom
Conversation
This commit introduces the foundational infrastructure for energy profiling tools: - Timer system for kernel and region tracking (timer_system.cpp/hpp) - Common utilities (filename generation, error handling) - Tool interface definitions (tool_interface.hpp) - Basic kernel timer tool (kp_energy_kernel_timer) - Unit tests for timer system and CSV export This infrastructure provides a solid base that future energy provider implementations can build upon. All components are self-contained and do not depend on external energy monitoring libraries.
…plifying method signatures
9dffd2e to
81ad294
Compare
…ort functions and update related test
This commit extends the energy profiler infrastructure with: - Generic Daemon class for background task execution (daemon.cpp/hpp) - Thread-safe periodic execution with configurable intervals - Clean start/stop lifecycle management - Unit tests for daemon functionality (daemon_test.cpp) The daemon system provides a reusable foundation for background monitoring tasks that energy providers will use for periodic power sampling. Depends on: feature/energy-profiler-infrastructure
This commit adds comprehensive Variorum-based GPU/system power monitoring: Variorum Provider: - VariorumProvider class for GPU power monitoring (provider_variorum.cpp/hpp) - JSON-based power data parsing with jansson library - Comprehensive error handling and status checking - Support for multiple GPU packages with individual queries Kokkos Tools: - kp_variorum_power: Background GPU power monitoring with daemon - Configurable sampling intervals - CSV export of power data with timestamps - Thread-safe data collection Testing: - Unit tests for Variorum provider functionality - Integration tests with daemon system - Fast sampling tests (20ms intervals) Features: - Periodic power sampling for GPU/system components - Detailed power statistics (min/max/avg/total energy) - Clean initialization/finalization - JSON data processing for Variorum output Depends on: feature/energy-profiler-daemon
b6ece00 to
3d110ed
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a Variorum-based GPU/system power monitoring tool.
Depends on: feature/energy-profiler-daemon #300 and #299