Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SST integration into gpgpusim #44

Merged
merged 84 commits into from
Dec 11, 2024
Merged

Conversation

William-An
Copy link

@William-An William-An commented Feb 10, 2023

Add SST integration into gpgpusim

Allow SST (Structural Simulation Toolkit) to utilize GPGPUSim during simulation.

Usage

To enable SST mode, make sure you have -SST_mode 1 in the gpgpusim.config file. You should also use SST specific CUDA functions.

Changes

  1. Incorporate the previous sst-gpgpusim-external repo to current mainstream.
  2. Changes related to SST are encapsulated with #ifdefine __SST__ directives with flag passed from makefile
  3. SST specific cluster, mem interface, gpgpu_sim are created to handle SST requests.
  4. Major changes were made to the following folders/files:
    1. libcuda: mostly with cuda_runtime_api.cc to add SST specific APIs as with SST we won't have access to /proc/self/exe to extract PTX file info.
    2. src/gpgpu-sim/gpu-sim.cc: for creating simt cluster and SST specific cycle function
    3. src/gpgpu-sim/shader.cc: for handling memory transactions with SST memory system instead of GPGPUSim's

@William-An William-An requested review from tgrogers and JRPan February 11, 2023 03:14
@William-An
Copy link
Author

The Jenkins run might fail a few times as we are still waiting for devel branch in sst-elements to be merged into default branch. Plus there is a bug in sst-core which prevent its build under balar configuration.

@William-An
Copy link
Author

I guess there should also be a CI test for testing GPGPU-Sim with SST unit test?

@William-An
Copy link
Author

We properly would want to have this merged some time so I don't have to point people to my personal repo in SST docs haha.

Copy link

@JRPan JRPan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool. I have some questions, but not neccesary needs changes. Take a look

  • Resolve the conflicts, I created PR several days ago to address gcc-10+ problem. You fixed that as well. \
  • Would it make sense to move the changes in shader.cc and shader.h and create a file sst-shader.cc? Just saying. If it's too much trouble then I'm fine withcurrect state.

.github/workflows/sst_integration.yml Show resolved Hide resolved
libcuda/cuda_runtime_api.cc Outdated Show resolved Hide resolved
src/gpgpu-sim/gpu-sim.cc Outdated Show resolved Hide resolved
src/gpgpu-sim/gpu-sim.cc Outdated Show resolved Hide resolved
src/gpgpu-sim/shader.cc Show resolved Hide resolved
@William-An
Copy link
Author

I fixed most of the places except for moving the changes out of shader.cc/.h. Some of the code are closely mingled together, and there isn't a clean way to separate the changes unless we have a completely different chain from gpu->core ctx->cluster->shader core.

@William-An William-An requested a review from JRPan December 11, 2024 21:29
@JRPan JRPan added this pull request to the merge queue Dec 11, 2024
Merged via the queue into accel-sim:dev with commit 752d4e5 Dec 11, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants