summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2011-07-26 11:55:18 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:18:22 -0700
commit8a80834fca8e7f45569cb1eb0b0c18c1d5aa6361 (patch)
tree6b302a7ab91c78203f2fd0afc5e5d188b4316b1a
parenta7e48367e84f3971809eef68efb84cb3d0a74ad9 (diff)
fixup some dangling references
update README and CHANGES to hopefully anticipate most basic questions we'll see [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9880]
-rw-r--r--CHANGES14
-rw-r--r--Makefile8
-rw-r--r--README38
-rw-r--r--setup_enviroment8
-rw-r--r--src/cuda-sim/cuda-sim.h1
-rw-r--r--src/cuda-sim/ptx_ir.h1
-rw-r--r--src/cuda-sim/ptx_sim.h1
-rw-r--r--src/gpgpu-sim/dram.h1
-rw-r--r--src/gpgpu-sim/shader.cc3
9 files changed, 42 insertions, 33 deletions
diff --git a/CHANGES b/CHANGES
index 8a6b251..cb43131 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,19 @@
CHANGE LOG:
+Version 3.0.0b versus 2.1.2b
+- massive refactoring of code to C++ (most global variables eliminated)
+- support for executing native SASS code via decuda
+- added to timing model:
+ - in order scoreboard allowing multiple instructions per warp in
+ pipeline at a time
+ - operand collector for modeling access to banked register files
+ - prefetching texture cache model (Igehy et al., Graphics Hardware 1998)
+ - updated data and constant cache models with updated MSHR model
+- other changes I don't remember right now
+
+Version 2.1.2b versus 2.1.1b:
+- TODO: fill this in!
+
Version 2.1.1b versus 2.1.0b:
- Added support for OpenCL (requires OpenCL driver from NVIDIA)
- Added performance visualizer tool
diff --git a/Makefile b/Makefile
index 147c052..cb74099 100644
--- a/Makefile
+++ b/Makefile
@@ -28,10 +28,14 @@
# comment out next line to disable OpenGL support
# export OPENGL_SUPPORT=1
-
-export DEBUG?=0
export SNOW?=
+ifeq ($(GPGPUSIM_CONFIG), debug)
+ export DEBUG=1
+else
+ export DEBUG=0
+endif
+
ifeq ($(DEBUG), 1)
export SIM_LIB_DIR=lib/debug
export SIM_OBJ_FILES_DIR=build/debug
diff --git a/README b/README
index 62bbc8a..2cd3a5f 100644
--- a/README
+++ b/README
@@ -1,6 +1,7 @@
GPGPU-Sim Simulator version 3.0.0b (beta)
-See doc/GPGPU-Sim_Manual.html for more documentation.
+This version of GPGPU-Sim works with CUDA version 3.1 and some earlier
+versions. It does not work with CUDA version 4.x.
Please see the copyright notice in the file COPYRIGHT distributed with this
release in the same directory as this file.
@@ -30,17 +31,12 @@ simulation, and various configuration files to provide a programming model
close to CUDA. Creating benchmarks for the original GPGPU-Sim simulator was a
very time consuming process. This motivated the development an interface for
directly running CUDA applications to leverage the growing number of
-applications being developed to use CUDA.
+applications being developed to use CUDA. We subsequently added support for
+OpenCL and removed all SimpleScalar code.
The interconnection network is simulated using the booksim simulator developed
by Bill Dally's research group at Stanford.
-The current version of GPGPU-Sim still uses a few portions of SimpleScalar
-functional simulation code: support for memory spaces and command line option
-processing (but not for any timing model purposes). SimpleScalar code has very
-strict restrictions on non-academic use (these portions may be removed in a
-future version of GPGPU-Sim).
-
To produce output that is compatible with the output from running the same CUDA
program on the GPU, we have implemented several PTX instructions using the CUDA
Math library (part of the CUDA toolkit). Code to interface with the CUDA Math
@@ -56,7 +52,8 @@ version 11.1) and has been used on several other Linux platforms.
Step 1: Ensure you have gcc, g++, make, makedepend, zlib, bison and flex
installed on your system. For CUDA 2.x we used gcc version 4.3.2, for CUDA 1.1
-we used gcc/g++ version 4.1.3. We used bison version 2.3, and flex version 2.5.33.
+we used gcc/g++ version 4.1.3. This version of GPGPU-Sim does not work with
+CUDA 4.x; We used bison version 2.3, and flex version 2.5.33.
Step 2: Download and install the CUDA Toolkit and CUDA SDK code samples from
NVIDIA's website: <http://www.nvidia.com/cuda>. If you want to run OpenCL on
@@ -78,26 +75,25 @@ From a bash shell, type the following in this directory:
Step 5: Type "make" in this directory. This will build the simulator with
optimizations enabled so the simulator runs faster. If you want to run the
-simulator in gdb to debug it, then build it using "make DEBUG=1" instead.
+simulator in gdb to debug it, then uncomment the line
+
+ #export GPGPUSIM_CONFIG=debug
+
+in setup_environment and type ". setup_environment" again, then "make" again.
Step 6: Run a CUDA built with a recent version of CUDA (or an OpenCL
application) and the device code should now run on the simulator instead of
your graphics card. To be able to run the application on your graphics card
-again, remove $GPGPUSIM_ROOT/lib from your LD_LIBRARY_PATH. There is also a
-"static" build setup used for some of the examples in the benchmarks directory
-(more information on this is available in doc/GPGPU-Sim_Manual.html)
-
-By default, this version of GPGPU-Sim uses the ptx source embedded within the
-binary. To use the .ptx files in the current directory, type:
-
- export PTX_SIM_USE_PTX_FILE=1
+again, remove $GPGPUSIM_ROOT/lib from your LD_LIBRARY_PATH.
Note that for OpenCL applications the NVIDIA driver is required to convert
-OpenCL ".cl" files to PTX. The resulting PTX can be saved to disk by adding
+OpenCL ".cl" files to PTX (this in turn may require you have a graphics card,
+but to run CUDA applications on the simulator a graphics card is not
+necessary). The resulting PTX can be saved to disk by adding
-save_embedded_ptx to your gpgpusim.config file (embedded PTX files with be
saved as _0.ptx, _1.ptx, etc...).
3. USING THE SIMULATOR
-For guidelines on using and configuring the simulator, please see
-doc/GPGPU-Sim_Manual.html
+Note that doc/GPGPU-Sim_Manual.html has not yet been updated to reflect
+changes to GPGPU-Sim versus the earlier 2.x versions.
diff --git a/setup_enviroment b/setup_enviroment
index 2cd8a9c..73fb7c1 100644
--- a/setup_enviroment
+++ b/setup_enviroment
@@ -1,5 +1,5 @@
-#export GPGPUSIM_CONFIG=release
-export GPGPUSIM_CONFIG=debug
+export GPGPUSIM_CONFIG=release
+#export GPGPUSIM_CONFIG=debug
SIMSUBDIR=fermi
@@ -11,8 +11,8 @@ export BOOST_LIB=/usr/lib64
export BOOST_VER=
export NVOPENCL_LIBDIR=/usr/lib64
-export CUDA_INSTALL_PATH=$HOME/nvcuda/4.0/cuda
-export CUDAHOME=$HOME/nvcuda/4.0/cuda
+export CUDA_INSTALL_PATH=$HOME/nvcuda/3.1/cuda
+export CUDAHOME=$HOME/nvcuda/3.1/cuda
export NVIDIA_COMPUTE_SDK_LOCATION=$HOME/NVIDIA_GPU_Computing_SDK/
export NVIDIA_CUDA_SDK_LOCATION=$NVIDIA_COMPUTE_SDK_LOCATION/
export LD_LIBRARY_PATH=$GPGPUSIM_ROOT/lib/$GPGPUSIM_CONFIG:$LD_LIBRARY_PATH
diff --git a/src/cuda-sim/cuda-sim.h b/src/cuda-sim/cuda-sim.h
index adc526e..e911c62 100644
--- a/src/cuda-sim/cuda-sim.h
+++ b/src/cuda-sim/cuda-sim.h
@@ -29,7 +29,6 @@
#define CUDASIM_H_INCLUDED
#include "../abstract_hardware_model.h"
-#include "dram_callback.h"
#include <stdlib.h>
#include <map>
#include <string>
diff --git a/src/cuda-sim/ptx_ir.h b/src/cuda-sim/ptx_ir.h
index 2485f68..c7eb499 100644
--- a/src/cuda-sim/ptx_ir.h
+++ b/src/cuda-sim/ptx_ir.h
@@ -40,7 +40,6 @@
#include "ptx.tab.h"
#include "ptx_sim.h"
-#include "dram_callback.h"
#include "memory.h"
diff --git a/src/cuda-sim/ptx_sim.h b/src/cuda-sim/ptx_sim.h
index cc6e43c..8ce8abc 100644
--- a/src/cuda-sim/ptx_sim.h
+++ b/src/cuda-sim/ptx_sim.h
@@ -29,7 +29,6 @@
#include <stdlib.h>
-#include "dram_callback.h"
#include "../abstract_hardware_model.h"
#include "../tr1_hash_map.h"
diff --git a/src/gpgpu-sim/dram.h b/src/gpgpu-sim/dram.h
index f9e5247..4cbcbb3 100644
--- a/src/gpgpu-sim/dram.h
+++ b/src/gpgpu-sim/dram.h
@@ -30,7 +30,6 @@
#define DRAM_H
#include "delayqueue.h"
-#include "../cuda-sim/dram_callback.h"
#include <set>
#include <zlib.h>
#include <stdio.h>
diff --git a/src/gpgpu-sim/shader.cc b/src/gpgpu-sim/shader.cc
index 5715f04..ceb67cb 100644
--- a/src/gpgpu-sim/shader.cc
+++ b/src/gpgpu-sim/shader.cc
@@ -35,7 +35,6 @@
#include "gpu-misc.h"
#include "../cuda-sim/ptx_sim.h"
#include "../cuda-sim/ptx-stats.h"
-#include "../cuda-sim/dram_callback.h"
#include "../cuda-sim/cuda-sim.h"
#include "gpu-sim.h"
#include "mem_fetch.h"
@@ -866,7 +865,7 @@ mem_stage_stall_type ldst_unit::process_memory_access_queue( cache_t *cache, war
if( inst.accessq_empty() )
return result;
- const mem_access_t &access = inst.accessq_back();
+ //const mem_access_t &access = inst.accessq_back();
mem_fetch *mf = m_mf_allocator->alloc(inst,inst.accessq_back());
std::list<cache_event> events;
enum cache_request_status status = cache->access(mf->get_addr(),mf,gpu_sim_cycle+gpu_tot_sim_cycle,events);