Skip to content

Commit 84c6cf4

Browse files
committed
AccelWattch dev Integration
1 parent 4a4fc87 commit 84c6cf4

File tree

165 files changed

+16621
-1868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+16621
-1868
lines changed

CHANGES

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
LOG:
2+
Version 4.2.0 vs 4.1.0
3+
- Added AccelWattch power model v1.0 which replaces GPUWattch.
4+
- 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.
5+
26
Version 4.1.0 versus 4.0.0
37
-Features:
48
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

COPYRIGHT

+30
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,33 @@ per UBC policy 88, item 2.3 on literary works) these students names appear in
4444
the copyright notices of the respective files. UBC is also mentioned in the
4545
copyright notice to highlight that was the author's affiliation when the work
4646
was performed.
47+
48+
NOTE 3: AccelWattch and all its components are covered by the following license and copyright.
49+
Copyright (c) 2018-2021, Vijay Kandiah, Junrui Pan, Mahmoud Khairy, Scott Peverelle, Timothy Rogers, Tor M. Aamodt, Nikos Hardavellas
50+
Northwestern University, Purdue University, The University of British Columbia
51+
All rights reserved.
52+
53+
Redistribution and use in source and binary forms, with or without
54+
modification, are permitted provided that the following conditions are met:
55+
56+
1. Redistributions of source code must retain the above copyright notice, this
57+
list of conditions and the following disclaimer;
58+
2. Redistributions in binary form must reproduce the above copyright notice,
59+
this list of conditions and the following disclaimer in the documentation
60+
and/or other materials provided with the distribution;
61+
3. Neither the names of Northwestern University, Purdue University,
62+
The University of British Columbia nor the names of their contributors
63+
may be used to endorse or promote products derived from this software
64+
without specific prior written permission.
65+
66+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
67+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
68+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
69+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
70+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
71+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
72+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
73+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
74+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
75+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
76+
POSSIBILITY OF SUCH DAMAGE.

Makefile

+8-8
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ ifneq ($(GPGPUSIM_POWER_MODEL),)
8787
MCPAT_DBG_FLAG = dbg
8888
endif
8989

90-
MCPAT_OBJ_DIR = $(SIM_OBJ_FILES_DIR)/gpuwattch
90+
MCPAT_OBJ_DIR = $(SIM_OBJ_FILES_DIR)/accelwattch
9191

9292
MCPAT = $(MCPAT_OBJ_DIR)/*.o
9393
endif
@@ -117,24 +117,24 @@ check_setup_environment:
117117
fi
118118

119119
check_power:
120-
@if [ -d "$(GPGPUSIM_ROOT)/src/gpuwattch/" -a ! -n "$(GPGPUSIM_POWER_MODEL)" ]; then \
120+
@if [ -d "$(GPGPUSIM_ROOT)/src/accelwattch/" -a ! -n "$(GPGPUSIM_POWER_MODEL)" ]; then \
121121
echo ""; \
122-
echo " Power model detected in default directory ($(GPGPUSIM_ROOT)/src/gpuwattch) but GPGPUSIM_POWER_MODEL not set."; \
123-
echo " Please re-run setup_environment or manually set GPGPUSIM_POWER_MODEL to the gpuwattch directory if you would like to include the GPGPU-Sim Power Model."; \
122+
echo " Power model detected in default directory ($(GPGPUSIM_ROOT)/src/accelwattch) but GPGPUSIM_POWER_MODEL not set."; \
123+
echo " Please re-run setup_environment or manually set GPGPUSIM_POWER_MODEL to the accelwattch directory if you would like to include the GPGPU-Sim Power Model."; \
124124
echo ""; \
125125
true; \
126126
elif [ ! -d "$(GPGPUSIM_POWER_MODEL)" ]; then \
127127
echo ""; \
128128
echo "ERROR ** Power model directory invalid."; \
129129
echo "($(GPGPUSIM_POWER_MODEL)) is not a valid directory."; \
130-
echo "Please set GPGPUSIM_POWER_MODEL to the GPGPU-Sim gpuwattch directory."; \
130+
echo "Please set GPGPUSIM_POWER_MODEL to the GPGPU-Sim accelwattch directory."; \
131131
echo ""; \
132132
exit 101; \
133133
elif [ -n "$(GPGPUSIM_POWER_MODEL)" -a ! -f "$(GPGPUSIM_POWER_MODEL)/gpgpu_sim.verify" ]; then \
134134
echo ""; \
135135
echo "ERROR ** Power model directory invalid."; \
136136
echo "gpgpu_sim.verify not found in $(GPGPUSIM_POWER_MODEL)."; \
137-
echo "Please ensure that GPGPUSIM_POWER_MODEL points to a valid gpuwattch directory and that you have the correct GPGPU-Sim mcpat distribution."; \
137+
echo "Please ensure that GPGPUSIM_POWER_MODEL points to a valid accelwattch directory and that you have the correct GPGPU-Sim mcpat distribution."; \
138138
echo ""; \
139139
exit 102; \
140140
fi
@@ -243,8 +243,8 @@ makedirs:
243243
if [ ! -d $(SIM_OBJ_FILES_DIR)/libopencl/bin ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/libopencl/bin; fi;
244244
if [ ! -d $(SIM_OBJ_FILES_DIR)/$(INTERSIM) ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/$(INTERSIM); fi;
245245
if [ ! -d $(SIM_OBJ_FILES_DIR)/cuobjdump_to_ptxplus ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/cuobjdump_to_ptxplus; fi;
246-
if [ ! -d $(SIM_OBJ_FILES_DIR)/gpuwattch ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/gpuwattch; fi;
247-
if [ ! -d $(SIM_OBJ_FILES_DIR)/gpuwattch/cacti ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/gpuwattch/cacti; fi;
246+
if [ ! -d $(SIM_OBJ_FILES_DIR)/accelwattch ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/accelwattch; fi;
247+
if [ ! -d $(SIM_OBJ_FILES_DIR)/accelwattch/cacti ]; then mkdir -p $(SIM_OBJ_FILES_DIR)/accelwattch/cacti; fi;
248248

249249
all:
250250
$(MAKE) gpgpusim

README.md

+24-25
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Welcome to GPGPU-Sim, a cycle-level simulator modeling contemporary graphics
22
processing units (GPUs) running GPU computing workloads written in CUDA or
33
OpenCL. Also included in GPGPU-Sim is a performance visualization tool called
4-
AerialVision and a configurable and extensible energy model called GPUWattch.
5-
GPGPU-Sim and GPUWattch have been rigorously validated with performance and
4+
AerialVision and a configurable and extensible power model called AccelWattch.
5+
GPGPU-Sim and AccelWattch have been rigorously validated with performance and
66
power measurements of real hardware GPUs.
77

88
This version of GPGPU-Sim has been tested with a subset of CUDA version 4.2,
@@ -38,12 +38,11 @@ Md Aamir Raihan, Negar Goli, Tor Aamodt,
3838
Modeling Deep Learning Accelerator Enabled GPUs, arXiv:1811.08309,
3939
https://arxiv.org/abs/1811.08309
4040

41-
If you use the GPUWattch energy model in your research, please cite:
41+
If you use the AccelWattch power model in your research, please cite:
4242

43-
Jingwen Leng, Tayler Hetherington, Ahmed ElTantawy, Syed Gilani, Nam Sung Kim,
44-
Tor M. Aamodt, Vijay Janapa Reddi, GPUWattch: Enabling Energy Optimizations in
45-
GPGPUs, In proceedings of the ACM/IEEE International Symposium on Computer
46-
Architecture (ISCA 2013), Tel-Aviv, Israel, June 23-27, 2013.
43+
Vijay Kandiah, Scott Peverelle, Mahmoud Khairy, Junrui Pan, Amogh Manjunath, Timothy G. Rogers, Tor M. Aamodt, and Nikos Hardavellas. 2021.
44+
AccelWattch: A Power Modeling Framework for Modern GPUs. In MICRO54: 54th Annual IEEE/ACM International Symposium on Microarchitecture
45+
(MICRO ’21), October 18–22, 2021, Virtual Event, Greece.
4746

4847
If you use the support for CUDA dynamic parallelism in your research, please cite:
4948

@@ -62,8 +61,8 @@ This file contains instructions on installing, building and running GPGPU-Sim.
6261
Detailed documentation on what GPGPU-Sim models, how to configure it, and a
6362
guide to the source code can be found here: <http://gpgpu-sim.org/manual/>.
6463
Instructions for building doxygen source code documentation are included below.
65-
Detailed documentation on GPUWattch including how to configure it and a guide
66-
to the source code can be found here: <http://gpgpu-sim.org/gpuwattch/>.
64+
65+
Previous versions of GPGPU-Sim (3.2.0 to 4.1.0) included the [GPUWattch Energy model](http://gpgpu-sim.org/gpuwattch/) which has been replaced by AccelWattch version 1.0 in GPGPU-Sim version 4.2.0. AccelWattch supports modern GPUs and is validated against a NVIDIA Volta QV100 GPU. Detailed documentation on AccelWattch can be found here: [AccelWattch Overview](https://github.com/VijayKandiah/accel-sim-framework#accelwattch-overview) and [AccelWattch MICRO'21 Artifact Manual](https://github.com/VijayKandiah/accel-sim-framework/blob/release/AccelWattch.md).
6766

6867
If you have questions, please sign up for the google groups page (see
6968
gpgpu-sim.org), but note that use of this simulator does not imply any level of
@@ -108,21 +107,20 @@ library (part of the CUDA toolkit). Code to interface with the CUDA Math
108107
library is contained in cuda-math.h, which also includes several structures
109108
derived from vector_types.h (one of the CUDA header files).
110109

111-
## GPUWattch Energy Model
110+
## AccelWattch Power Model
112111

113-
GPUWattch (introduced in GPGPU-Sim 3.2.0) was developed by researchers at the
114-
University of British Columbia, the University of Texas at Austin, and the
115-
University of Wisconsin-Madison. Contributors to GPUWattch include Tor
116-
Aamodt's research group at the University of British Columbia: Tayler
117-
Hetherington and Ahmed ElTantawy; Vijay Reddi's research group at the
118-
University of Texas at Austin: Jingwen Leng; and Nam Sung Kim's research group
119-
at the University of Wisconsin-Madison: Syed Gilani.
112+
AccelWattch (introduced in GPGPU-Sim 4.2.0) was developed by researchers at
113+
Northwestern University, Purdue University, and the University of British Columbia.
114+
Contributors to AccelWattch include Nikos Hardavellas's research group at Northwestern University:
115+
Vijay Kandiah; Tor Aamodt's research group at the University of British Columbia: Scott Peverelle;
116+
and Timothy Rogers's research group at Purdue University: Mahmoud Khairy, Junrui Pan, and Amogh Manjunath.
120117

121-
GPUWattch leverages McPAT, which was developed by Sheng Li et al. at the
118+
AccelWattch leverages McPAT, which was developed by Sheng Li et al. at the
122119
University of Notre Dame, Hewlett-Packard Labs, Seoul National University, and
123-
the University of California, San Diego. The paper can be found at
120+
the University of California, San Diego. The McPAT paper can be found at
124121
http://www.hpl.hp.com/research/mcpat/micro09.pdf.
125122

123+
126124
# INSTALLING, BUILDING and RUNNING GPGPU-Sim
127125

128126
Assuming all dependencies required by GPGPU-Sim are installed on your system,
@@ -316,15 +314,16 @@ need to re-compile your application simply to run it on GPGPU-Sim.
316314
To revert back to running on the hardware, remove GPGPU-Sim from your
317315
LD_LIBRARY_PATH environment variable.
318316

319-
The following GPGPU-Sim configuration options are used to enable GPUWattch
317+
The following GPGPU-Sim configuration options are used to enable AccelWattch
320318

321319
-power_simulation_enabled 1 (1=Enabled, 0=Not enabled)
322-
-gpuwattch_xml_file <filename>.xml
323-
320+
-power_simulation_mode 0 (0=AccelWattch_SASS_SIM or AccelWattch_PTX_SIM, 1=AccelWattch_SASS_HW, 2=AccelWattch_SASS_HYBRID)
321+
-accelwattch_xml_file <filename>.xml
324322

325-
The GPUWattch XML configuration file name is set to gpuwattch.xml by default and
326-
currently only supplied for GTX480 (default=gpuwattch_gtx480.xml). Please refer to
327-
<http://gpgpu-sim.org/gpuwattch/> for more information.
323+
The AccelWattch XML configuration file name is set to accelwattch_sass_sim.xml by default and is
324+
currently provided for SM7_QV100, SM7_TITANV, SM75_RTX2060_S, and SM6_TITANX.
325+
Note that all these AccelWattch XML configuration files are tuned only for SM7_QV100. Please refer to
326+
<https://github.com/VijayKandiah/accel-sim-framework#accelwattch-overview> for more information.
328327

329328
Running OpenCL applications is identical to running CUDA applications. However,
330329
OpenCL applications need to communicate with the NVIDIA driver in order to

0 commit comments

Comments
 (0)