Bug potential of memory_sub_partition::top function#75
Open
hnts03 wants to merge 1 commit into
Open
Conversation
|
@William-An , @abhaumick - if you have some time, can you look into this this week? |
|
Looks fair to me. Also, the |
reoLantern
added a commit
to reoLantern/gpgpu-sim_distribution
that referenced
this pull request
Apr 22, 2026
Task accel-sim#75 completion. Reverts B11's workaround (which was only needed when power model was forcibly OFF) and restores MICRO 2025's original #ifdef structure now that power model is auto-enabled. Changes: - CMakeLists.txt: remove `set(GPGPUSIM_USE_POWER_MODEL OFF)` force override after include(gpgpusim_check.cmake). The cmake check auto-enables the flag when src/accelwattch/ exists (true post-pivot). - src/gpgpu-sim/gpu-sim.cc: restore original `#ifdef GPGPUSIM_POWER_MODEL / #include "power_interface.h" / #else / class gpgpu_sim_wrapper {}; / #endif` block. This file is now byte-identical to MICRO 2025 upstream. Preserved (from B11, still needed): - src/accelwattch/CMakeLists.txt: CUDA include dir (MICRO 2025 gpgpu_sim_wrapper.cc transitively includes shader.h → vector_types.h). - src/gpgpu-sim/CMakeLists.txt: unconditional accelwattch include path on gpgpusim target (harmless when power OFF, required when ON). Verification: - cmake reports "Checking for GPGPU-Sim power model - src/accelwattch/" - Full clean build: 0 errors, 26s with ccache - vec_add smoke: gpu_sim_cycle = 45840 (byte-identical with MICRO 2025) gpu_sim_insn = 14,680,064 gpu_ipc = 320.2457 kernel_avg_power = 109.197 W (new, real AccelWattch output) accelwattch_power_report.log generated (10,435 bytes) wall 44s (+4s vs power-OFF, acceptable overhead) Power data includes per-component breakdown (IBP/ICP/DCP/RFP/INTP/...), static/dynamic split, per-kernel instruction classification, cache hit/miss counts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
When the
gpgpu_sim::cycle()function started to ICNT cycle, the return of m_memory_sub_partition[I]->top() could be NULL when its access_type is L2_WRBK_ACC or L1_WRBK_ACC. However, it may cause a double delete & pop to a single mf object and m_L2_icnt_queue. Thetopfunction must not delete the element inside of the queue structure.