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

2 issues here #277

Open
wants to merge 224 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
b7b9dc0
Fix for bugs in lazy write handling
gvoskuilen Oct 26, 2020
2d73b61
Merge pull request #3 from gvoskuilen/dev
mkhairy Oct 26, 2020
950464e
change address type into ull
allencho1222 Nov 9, 2020
07f77e1
do not truncate 32 MSB bits of the memory address
allencho1222 Nov 9, 2020
132c2ce
added MSHR_HIT
JRPan Nov 15, 2020
85e36b9
Merge pull request #6 from JRPan/add_mshr
mkhairy Nov 22, 2020
29cce50
Merge pull request #4 from allencho1222/patch-1
tgrogers Jan 27, 2021
e6b0608
Merge pull request #5 from allencho1222/patch-2
tgrogers Jan 27, 2021
5ac0b60
Merge branch 'dev' of https://github.com/accel-sim/gpgpu-sim_distribu…
mkhairy Jan 28, 2021
f3a0077
bug fix was_writeback_sent
JRPan Feb 12, 2021
67f89ab
Merge pull request #7 from JRPan/fix-was_writeback_sent
mkhairy Feb 16, 2021
51d9925
fix hash funciton
JRPan Feb 15, 2021
2f96645
Merge pull request #9 from JRPan/fix-cache-hash
mkhairy Feb 19, 2021
b430b36
adding new RTX 3070 config
mkhairy Feb 25, 2021
deb5eb5
Merge branch 'dev' of https://github.com/accel-sim/gpgpu-sim_distribu…
mkhairy Feb 25, 2021
09f10eb
change the L1 cache policy to be on-miss based on recent ubench
mkhairy Mar 25, 2021
1ee03f0
change the L1 cache policy based on recent ubench
mkhairy Mar 25, 2021
5533464
parition CU allocation, add prints
barnes88 May 9, 2021
645a0ea
minor fixes
barnes88 May 9, 2021
46423a2
useful print statement
barnes88 May 9, 2021
b672880
validated collector unit partitioning based on scheduler
barnes88 May 9, 2021
fa76ab4
sub core model dispatches only to assigned exec pipelines
barnes88 May 10, 2021
c905726
minor fix accessing du
barnes88 May 10, 2021
a72b84e
fix find_ready reg_id
barnes88 May 10, 2021
6ad5bad
dont need du id
barnes88 May 10, 2021
9219236
remove prints
barnes88 May 10, 2021
52a890c
need at least 1 cu per sched for sub_core model, fix find_ready() reg_id
barnes88 May 11, 2021
2db9120
move reg_id calc to cu object init
barnes88 May 11, 2021
4825a1d
fix assert
barnes88 May 11, 2021
e2b410d
clean up redundant method args
barnes88 May 11, 2021
9c0156b
more cleanup
barnes88 May 11, 2021
28c3c94
cleanup find_ready
barnes88 May 11, 2021
28d0565
partition issue() in the shader execute stage
barnes88 May 11, 2021
08ad045
Merge branch 'sub_core_devel' of github.com:barnes88/gpgpu-sim_distri…
barnes88 May 11, 2021
ec55c68
minor fixes, pure virtual calls
barnes88 May 11, 2021
71455d8
add prints for ex issue validation
barnes88 May 12, 2021
640674b
issue function needed to be constrained
barnes88 May 12, 2021
9b6af84
fix print, move simd::issue() impl to .cc file
barnes88 May 12, 2021
6ae2391
fix prints / segfault
barnes88 May 12, 2021
a450d74
remove prints
barnes88 May 12, 2021
6a09900
rm unnecessary instr get
barnes88 May 12, 2021
5945d70
specialized unit should be partitioned too
barnes88 May 13, 2021
92c814a
run changes through clang-format
barnes88 May 13, 2021
db10197
rm old dirs in format-code.sh
barnes88 May 13, 2021
c526262
fix adaptive cache cfg option parsing data type
JRPan May 13, 2021
c51350d
Merge pull request #13 from JRPan/fix-config-parser
tgrogers May 13, 2021
f2a7d9c
fixing streaming cache based on recent ubench
mkhairy May 15, 2021
1347395
adding the missing xoring hashing
mkhairy May 15, 2021
6319e31
moving reg file read to read_operands function as before
mkhairy May 15, 2021
d89f9f7
Merge branch 'dev' of https://github.com/accel-sim/gpgpu-sim_distribu…
mkhairy May 17, 2021
c94b883
code refactoring cycle()
mkhairy May 17, 2021
7d9a12f
specialized unit get_ready() was missing subcore
barnes88 May 17, 2021
585dcf5
Merge pull request #12 from barnes88/sub_core_devel
mkhairy May 18, 2021
6121a88
Merge branch 'dev' of https://github.com/accel-sim/gpgpu-sim_distribu…
mkhairy May 18, 2021
0f30305
dirty counter added. NO increamenting yet
JRPan Feb 15, 2021
615f173
store ack for new waps
JRPan Feb 20, 2021
ad72041
sending cache block byte mask
JRPan Mar 2, 2021
bb19c0c
update mf breakdown at L2
JRPan Mar 2, 2021
e05fa4a
little bug fix - flush()
JRPan Mar 2, 2021
804ee90
sending byte mask for all policies
JRPan Mar 8, 2021
b3dab5e
set byte mask on fill
JRPan Mar 8, 2021
40077df
solve deadlock for non-sectored cache configs
JRPan Mar 8, 2021
64bf6fd
dirty counter not resetting after kernel finish
JRPan Mar 18, 2021
a374b33
remove MSHR_HIT from cache total access
JRPan Mar 26, 2021
f6fb56b
check sector readable only on reads
JRPan Apr 6, 2021
994fb19
reset dirty counter
JRPan May 4, 2021
7306930
remove runtime check of dirty counter
JRPan May 12, 2021
0601354
Add WT to lazy_fetch_on_read
JRPan May 18, 2021
f783351
new configs - adaptive cache and cache write ratio
JRPan May 17, 2021
a2b1b1c
adaptive cache - update
JRPan May 17, 2021
f70f5d6
re-wording/formatting
JRPan May 19, 2021
4a762a9
formatting again
JRPan May 19, 2021
4c354eb
minor improvements
JRPan May 19, 2021
f27da22
Use cache config multipilier when possible
JRPan May 19, 2021
0e4f12a
Merge pull request #14 from JRPan/spring-2021-all
mkhairy May 19, 2021
1875132
Merge branch 'dev' into adaptive-cache
JRPan May 19, 2021
2b2b6a2
Merge pull request #15 from JRPan/adaptive-cache
mkhairy May 19, 2021
14f22bc
add checking on spec unit in subcore
mkhairy May 19, 2021
3363536
Merge branch 'dev' of https://github.com/accel-sim/gpgpu-sim_distribu…
mkhairy May 19, 2021
604baaf
fixing the failing of merging
mkhairy May 19, 2021
a2ba2f5
updating config files with right adaptive cache parameters
mkhairy May 19, 2021
b63d19a
updating config files
mkhairy May 19, 2021
e3d186b
chaning @sets to 4 based on recent ubenchs
mkhairy May 19, 2021
24ffab2
moving shmem option to the base class and change the code to accept t…
mkhairy May 20, 2021
fedcde3
moving the unified size from the base class config to l1 config
mkhairy May 20, 2021
8aee56d
rename set_dirty_byte_mask
mkhairy May 20, 2021
b466afe
eliminate redundant code in gpu-cache.h
mkhairy May 20, 2021
7fac247
change L1 cache config in Volta+ to be write-through and write-alloca…
mkhairy May 20, 2021
0d33266
oops delete this config, it should not be pushed
mkhairy May 20, 2021
2aef4e3
Merge pull request #16 from mkhairy/dev
mkhairy May 20, 2021
c8eca04
fix merge conflict
JRPan May 17, 2021
f665ad5
L2 breakdown - reuse mf allocator
JRPan May 21, 2021
b814c52
cast to float - dirty line percentage
JRPan May 21, 2021
ce4f20f
Merge pull request #17 from JRPan/rewrite-l2-breakdown
mkhairy May 21, 2021
3b75d8f
Update version
mkhairy May 22, 2021
7e48560
Update CHANGES
mkhairy May 22, 2021
b6409b4
Update README.md
mkhairy May 22, 2021
6c9e13d
format code
mkhairy May 23, 2021
778962e
updating the configs based on the tuner output
mkhairy May 26, 2021
3eea014
changing kernel latency
mkhairy May 26, 2021
6ad461a
fixing configs
mkhairy May 27, 2021
110aeb1
rewrite shmem_option parsing
JRPan May 31, 2021
04462cb
update readable
JRPan Jun 3, 2021
e9d781a
minor improvements
JRPan Jun 3, 2021
0f088dc
correct dirty counter
JRPan Jun 16, 2021
3cf24b8
WT in lazy fetch on read
JRPan Jun 23, 2021
b1befa8
Adding restricted round robin scheduler
JRPan Aug 16, 2021
b658147
better oc selecting when sub core enabled
JRPan Aug 16, 2021
a8256e5
Update volta to use lrr scheduler
JRPan Aug 23, 2021
84c4f46
Ampere and Turing also lrr scheduler
JRPan Aug 23, 2021
4a4fc87
Merge pull request #5 from accel-sim/dev
VijayKandiah Oct 17, 2021
84c6cf4
AccelWattch dev Integration
VijayKandiah Oct 17, 2021
da0aef2
Merge pull request #236 from accel-sim/dev
aamodt Oct 18, 2021
6b244a5
Merge pull request #237 from VijayKandiah/dev
aamodt Oct 18, 2021
b1bb39e
Updated the manual
Oct 27, 2021
9218352
Merge pull request #25 from Connie120/dev
JRPan Feb 1, 2022
2a29ea9
rm hw_perf.csv from config folder
JRPan Feb 1, 2022
011891a
Update Copyrights
JRPan Feb 2, 2022
e466afb
Merge pull request #27 from JRPan/accelwattach-dev
JRPan Feb 7, 2022
f0ad71c
set default max concurrent ctas to 32 and validate
barnes88 Feb 15, 2022
43198e9
fix trace-driven concurrency segfault
barnes88 Feb 18, 2022
8f71be8
update max_concurrent kernel based on compute capability
barnes88 Feb 18, 2022
8ba79fb
update configs max concurrent kernel based on compute capability
barnes88 Feb 18, 2022
da6a16a
Fixed old bug that happens when there are different latencies to the …
rodhuega Feb 25, 2022
d38b300
Merge pull request #28 from barnes88/concurrent
JRPan Mar 1, 2022
92f313b
fix sub-core operand collector dispatch rr
barnes88 Mar 23, 2022
ee9b626
Update shader.h
FJShen Mar 29, 2022
371340d
Merge pull request #35 from FJShen/patch-1
JRPan Apr 4, 2022
92830cd
Merge branch 'dev' into fix-cu-findready
barnes88 Apr 5, 2022
c9cc0a0
fix duplicate regfile accesses within same instruction
barnes88 Apr 6, 2022
33ad7c8
Fixed constant_cycle
yuechen-sys Apr 7, 2022
cfba96c
Merge pull request #39 from barnes88/reg-duplicates
FJShen Apr 11, 2022
1d39b6f
Merge pull request #40 from notseefire/dev
JRPan Apr 11, 2022
13c6711
Merge pull request #32 from barnes88/fix-cu-findready
JRPan Apr 14, 2022
b102f61
Fixed regex for files generated by newer bison versions
nothingface0 Dec 4, 2022
0d8af96
Ignore YY keywords, remove whitespace
nothingface0 Dec 5, 2022
b22122a
Added regex for non-linux platforms
nothingface0 Dec 5, 2022
a17be08
Merge branch 'dev' of github.com:tgrogers/gpgpu-sim_distribution into…
tgrogers Feb 8, 2023
f5d21b1
Taking out a comment that is no longer relevant and truncating the co…
tgrogers Feb 10, 2023
5d29789
Merge pull request #43 from tgrogers/dev
tgrogers Feb 10, 2023
e3483ab
truncate the commit hash
JRPan Feb 11, 2023
2b5c462
Merge branch 'dev' into dev
JRPan Feb 11, 2023
5cfcc39
Getting rid of some busted old email templates
tgrogers Feb 11, 2023
7ee92ac
Merge remote-tracking branch 'remotes/accel-sim/dev' into dev
tgrogers Feb 11, 2023
74cdacd
Merge pull request #45 from JRPan/dev
JRPan Feb 11, 2023
d1f6787
Merge branch 'dev' into dev
JRPan Feb 11, 2023
948c0e1
Merge pull request #46 from tgrogers/dev
JRPan Feb 13, 2023
46e0ec2
Ported aerialvision to use python3 instead of python2
christindbose May 10, 2023
2b0df2f
Removed some cached files
christindbose May 10, 2023
de83af2
Merge branch 'dev' into dev
JRPan May 10, 2023
57aa5ab
Merge branch 'dev' into fix_different_latencies_to_same_ex_unit
JRPan May 10, 2023
0e83585
Merge branch 'dev' into aerielvision_stuff
JRPan May 10, 2023
b98d799
Pushed aerialvision.py
christindbose May 10, 2023
1c1e446
Merge branch 'aerielvision_stuff' of https://github.com/christindbose…
christindbose May 10, 2023
e633760
Fix typos
William-An May 10, 2023
cb6060a
Added check if reservation fail happens to prevent SEGF during cache …
christindbose May 10, 2023
918fe2c
Merge branch 'dev' into cache_reserve_SEGF
JRPan May 10, 2023
6dd3bfc
Merge pull request #50 from christindbose/cache_reserve_SEGF
JRPan May 11, 2023
363ff9d
Merge branch 'dev' into fix-issue-accel-sim-187
JRPan May 11, 2023
f8f3fee
Merge branch 'dev' into aerielvision_stuff
cesar-avalos3 May 15, 2023
e033c1f
Merge pull request #49 from accel-sim/fix-issue-accel-sim-187
William-An May 17, 2023
2565af7
Merge branch 'dev' into fix_different_latencies_to_same_ex_unit
William-An May 17, 2023
5418798
thowing an error flag on failure
tgrogers May 19, 2023
25cdd73
Merge branch 'dev' into dev
tgrogers May 19, 2023
8ca01b0
Revert QV100 config and add GV100 config
JRPan Jun 7, 2023
8d2671a
Merge pull request #30 from rodhuega/fix_different_latencies_to_same_…
JRPan Jun 7, 2023
aa99b50
Merge branch 'dev' into aerielvision_stuff
JRPan Jun 7, 2023
812e809
Merge pull request #48 from christindbose/aerielvision_stuff
JRPan Jun 8, 2023
b5bda5a
Merge branch 'dev' into dev
JRPan Jun 8, 2023
ff35ae9
shared mem bank conflicts
barnes88 Jun 8, 2023
73db3f7
Merge pull request #42 from nothingface0/dev
JRPan Jun 10, 2023
b471b34
fixing bunch of formatting warnings (#53)
LAhmos Jun 12, 2023
ce5c443
it is safe to to change m_updates to unsgined, the accessor returns u…
LAhmos Jun 7, 2023
e700b18
fix types, change int to unsigned int
LAhmos Jun 7, 2023
ccf6662
fix more Wsign warnings
LAhmos Jun 7, 2023
5c16d70
remove unused vars
LAhmos Jun 13, 2023
cb56502
more unused var fixes
LAhmos Jun 13, 2023
40beac6
no return warnings ngs fix
LAhmos Jun 13, 2023
24a35fb
order warnings fix
LAhmos Jun 13, 2023
b0e65fe
Merge branch 'dev' into dev
JRPan Jun 13, 2023
4f1cdbe
Merge branch 'dev' into dev
JRPan Jun 13, 2023
9eaf173
rename cache bankconflict stat to be more descriptive
barnes88 Jun 13, 2023
66ae881
Merge pull request #54 from JRPan/dev
JRPan Jun 14, 2023
46428ee
Merge branch 'dev' into dev
JRPan Jun 17, 2023
301be9e
137 drop sector cache flexibility (#57)
FJShen Jun 17, 2023
3d936e5
Merge branch 'dev' into compare_warn
JRPan Jun 19, 2023
68a9107
fix most c warnings
LAhmos Jun 20, 2023
5831da3
ignore lex warnings
LAhmos Jun 20, 2023
58beccb
Merge pull request #55 from LAhmos/compare_warn
LAhmos Jun 20, 2023
95822cb
Merge branch 'dev' into dev
JRPan Jun 27, 2023
712b610
Merge branch 'dev' into fix-stats
barnes88 Jul 5, 2023
1ce9feb
Merge branch 'dev' into all_warn
LAhmos Jul 5, 2023
a42b722
Merge pull request #59 from LAhmos/all_warn
LAhmos Jul 6, 2023
57452f0
Merge branch 'dev' into fix-stats
barnes88 Aug 7, 2023
53e99da
Merge pull request #58 from barnes88/fix-stats
barnes88 Aug 15, 2023
a0c12f5
LDGSTS, LDGDEPBAR and DEPBAR Implementations (#62)
Connie120 Sep 20, 2023
d09254e
Update gpgpusim.config
FJShen Dec 18, 2023
2ef277b
Merge branch 'dev' into dev
JRPan Jan 10, 2024
3c95cd1
Adding Github Actino CI
JRPan Jan 22, 2024
9aeacdf
Merge pull request #63 from accel-sim/FJShen-patch-1
JRPan Jan 24, 2024
a06ebf7
Merge branch 'dev' into dev
JRPan Jan 24, 2024
b2f0ebe
update CI scripts
JRPan Jan 24, 2024
2bbfb8b
uses actions/checkout@v4
JRPan Jan 24, 2024
291fb11
Merge branch 'dev' into dev-github-ci
JRPan Jan 24, 2024
77aefac
fix dubious ownership
JRPan Jan 26, 2024
1bdb39a
remove fermi and add newer gen cards
JRPan Jan 26, 2024
67fc78c
Merge pull request #64 from accel-sim/dev-github-ci
William-An Jan 29, 2024
d935bd1
rename ci tests
JRPan Feb 5, 2024
b1ff53d
Merge pull request #65 from accel-sim/dev-ci
JRPan Feb 5, 2024
0b93c15
Merge branch 'dev' into dev
JRPan Apr 4, 2024
6389301
Merge pull request #52 from tgrogers/dev
JRPan Apr 4, 2024
bc8061f
Migrate gpgpu-sim build system to cmake (#66)
William-An Apr 4, 2024
b70d930
CMAKE_BUILD_TYPE should be inside ${}
JRPan Apr 5, 2024
570d75c
Fix Build Type
JRPan Apr 8, 2024
7dc9977
Merge pull request #68 from JRPan/dev
William-An Apr 8, 2024
036b130
Add missing increment part for m_pending_ldgsts with minor fix (#72)
YWHyuk Jun 22, 2024
6aa7ed1
Added guard to check if L2 is writeback or not (#73)
shreyas42singh Jun 22, 2024
55419d7
Reg bank patch (#41)
barnes88 Jul 12, 2024
e1afc53
Auto clang format (#74)
barnes88 Jul 16, 2024
081da0a
Add support for SHF ptx instruction (#70)
cesar-avalos3 Aug 9, 2024
42a0cde
remove unused & unintilized variables & format automation (#69)
JRPan Aug 16, 2024
38b4df5
Stream stats (#71)
JRPan Aug 21, 2024
980eb88
Change to calculate L2 BW if core freq and icnt freq are not the same…
christindbose Oct 1, 2024
667834c
we have gcc-11 now. Check version for more than 2 digits. (#79)
JRPan Oct 7, 2024
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
86 changes: 86 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Workflow with cmake build system
name: Short-Tests-CMake

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the mydev branch
push:
branches-ignore:
- "gh-readonly-queue**"
merge_group:
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build-TITANV:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: TITANV

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh

build-TITANV-LOCALXBAR:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: TITANV-LOCALXBAR

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh

build-QV100:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: QV100

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh

build-2060:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: RTX2060

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh

build-3070:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: RTX3070

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
105 changes: 105 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# This is a basic workflow to help you get started with Actions

name: Short-Tests

# Controls when the workflow will run
on:
push:
branches-ignore:
- "gh-readonly-queue**"
merge_group:
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build-TITANV:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: TITANV

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh

build-TITANV-LOCALXBAR:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: TITANV-LOCALXBAR

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh

build-QV100:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: QV100

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh

build-2060:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: RTX2060

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh

build-3070:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
env:
CONFIG: RTX3070

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
format-code:
if: github.event_name == 'pull_request'
runs-on: tgrogers-raid
needs: [build-TITANV, build-TITANV-LOCALXBAR, build-QV100, build-2060, build-3070]
steps:
- uses: actions/checkout@v4
with:
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
ssh-key: ''

- name: Run clang-format
run: |
git config user.name "purdue-jenkins"
git config user.email "[email protected]"
git remote set-url origin [email protected]:${{github.event.pull_request.head.repo.full_name}}
git remote -v
/bin/bash ./format-code.sh
if git status --untracked-files=no | grep -q "nothing to commit"; then echo "No changes to commit."; else git commit -a -m "Automated Format"; git push; fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,4 @@ debug_tools/WatchYourStep/ptxjitplus/*.ptx
accel-sim-framework/
gpu-app-collection/

setup
16 changes: 16 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
LOG:
Version 4.2.0 vs 4.1.0
- Added AccelWattch power model v1.0 which replaces GPUWattch.
- Added AccelWattch XML configuration files for SM7_QV100, SM7_TITANV, SM75_RTX2060_S, SM6_TITANX. Note that all these AccelWattch XML configuration files are tuned only for SM7_QV100.

Version 4.1.0 versus 4.0.0
-Features:
1- Supporting L1 write-allocate with sub-sector writing policy as in Volta+ hardware, and changing the Volta+ cards config to make L1 write-allocate with write-through
2- Making the L1 adaptive cache policy to be configurable
3- Adding Ampere RTX 3060 config files
-Bugs:
1- Fixing L1 bank hash function bug
2- Fixing L1 read hit counters in gpgpu-sim to match nvprof, to achieve more accurate L1 correlation with the HW
3- Fixing bugs in lazy write handling, thanks to Gwendolyn Voskuilen from Sandia labs for this fix
4- Fixing the backend pipeline for sub_core model
5- Fixing Memory stomp bug at the shader_config
6- Some code refactoring:
Version 4.0.0 (development branch) versus 3.2.3
-Front-End:
1- Support .nc cache modifier and __ldg function to access the read-only L1D cache
Expand Down
167 changes: 167 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
cmake_minimum_required(VERSION 3.17)

# Project name and version
project(GPGPU-Sim
VERSION 4.2.0
DESCRIPTION "cycle-level simulator modeling contemporary graphics processing units (GPUs)"
HOMEPAGE_URL https://github.com/accel-sim/gpgpu-sim_distribution
LANGUAGES CXX)

# Specify the C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# GPGPU-Sim build option
option(GPGPUSIM_ENABLE_TRACE "Whether to enable GPGPU-Sim debug tracing" ON)

# GPGPU-Sim conditional build variable
set(GPGPUSIM_USE_POWER_MODEL OFF)
set(GPGPUSIM_USE_OPENCL OFF)

# Check for dependencies
include(gpgpusim_check.cmake)

# Create version file
add_custom_target(gen_build_string ALL
COMMAND ${CMAKE_COMMAND} -D INPUT_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D OUTPUT_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/gpgpusim_gen_build_string.cmake
COMMENT "Generating build string file to ${CMAKE_CURRENT_BINARY_DIR}")

# CMake target
# GPGPU-Sim CUDA Runtime lib
# Use the entrypoint object files sources else CMake will complain
add_library(cudart SHARED $<TARGET_OBJECTS:gpgpusim_entrypoint>)
add_library(entrypoint STATIC $<TARGET_OBJECTS:gpgpusim_entrypoint>)

# Add global C/CXX compilation flags and definitions
# TODO Specify more build modes like gem5 with fast opt?
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
add_compile_definitions(DEBUG=1)
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-Wall;-Wno-unused-function;-Wno-sign-compare;-g;-fPIC>")
add_compile_options("$<$<COMPILE_LANGUAGE:C>:-Wall;-Wno-unused-function;-Wno-sign-compare;-ggdb;-fPIC>")
else()
add_compile_definitions(DEBUG=0)
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:-O3;-g;-Wall;-Wno-unused-function;-Wno-sign-compare;-fPIC>")
add_compile_options("$<$<COMPILE_LANGUAGE:C>:-Wall;-Wno-unused-function;-Wno-sign-compare;-fPIC>")
endif()

# Add CUDA version
add_compile_definitions(CUDART_VERSION=${CUDA_VERSION_NUMBER})

# OpenCL support
if(GPGPUSIM_USE_OPENCL)
add_compile_definitions(OPENGL_SUPPORT)
endif()

# Tracing support
if(GPGPUSIM_ENABLE_TRACE)
add_compile_definitions(TRACING_ON=1)
endif()

# Add subdirectory
add_subdirectory(src)
add_subdirectory(libcuda)
add_subdirectory(libopencl)

# Set linker option for libcudart.so
if(APPLE)
target_link_options(cudart PUBLIC "-Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.1,-current_version,1.1;-lm;-lz;-pthread")
else()
target_link_options(cudart PUBLIC
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linux-so-version.txt;-lm;-lz;-lGL;-pthread")
target_link_options(entrypoint PUBLIC
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/linux-so-version.txt;-lm;-lz;-lGL;-pthread")
endif()
# cuda: CUDA API lib
# ptxsim: cuda-sim, functional simulator
# gpgpusim: gpu simulator (gpgpu-sim)
# intersim: interconnect simulator
# accelwattch: power simulator
# Rest of source files in src/ will be created with gpgpusim_entrypoint target
target_link_libraries(cudart PUBLIC cuda ptxsim gpgpusim intersim)
target_link_libraries(entrypoint PUBLIC cuda ptxsim gpgpusim intersim)
if(GPGPUSIM_USE_POWER_MODEL)
target_link_libraries(cudart PUBLIC cuda ptxsim gpgpusim intersim accelwattch)
target_link_libraries(entrypoint PUBLIC cuda ptxsim gpgpusim intersim accelwattch)
endif()

# TODO Conditionally build for Opencl?
# if(GPGPUSIM_USE_OPENCL)
# add_library(OpenCL)
# endif()

# Install and post-install
# Get configure
set(GPGPUSIM_CONFIG "gcc-${CMAKE_CXX_COMPILER_VERSION}/cuda-${CUDA_VERSION_NUMBER}/${GPGPUSIM_BUILD_MODE}")

# Env var setup script
include(gpgpusim_gen_setup_environment.cmake)

# Installation
set(GPGPUSIM_INSTALL_PATH ${PROJECT_SOURCE_DIR}/lib/${GPGPUSIM_CONFIG})
install(TARGETS cudart DESTINATION ${GPGPUSIM_INSTALL_PATH})

# Installing symlinks
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.2\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.3\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.4\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.5.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.5.5\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.6.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.6.5\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.7.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.7.5\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.8.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.9.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.9.1\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.9.2\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.10.0\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.10.1\)")
install(CODE "execute_process\(\
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart> \
${GPGPUSIM_INSTALL_PATH}/$<TARGET_FILE_NAME:cudart>.11.0\)")
Loading