summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README112
1 files changed, 112 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..4dc54f6
--- /dev/null
+++ b/README
@@ -0,0 +1,112 @@
+GPGPU-Sim Simulator version 2.1.1b (beta)
+
+See doc/GPGPU-Sim_Manual.html for more documentation.
+
+Please see the copyright notice in the file COPYRIGHT distributed with this
+release in the same directory as this file. This version of GPGPU-Sim is
+for non-commercial use only.
+
+If you use this simulator in your research please cite:
+
+Ali Bakhoda, George Yuan, Wilson W. L. Fung, Henry Wong, Tor M. Aamodt,
+Analyzing CUDA Workloads Using a Detailed GPU Simulator, in IEEE International
+Symposium on Performance Analysis of Systems and Software (ISPASS), Boston, MA,
+April 19-21, 2009.
+
+Please sign up for the google groups page for Q&A (see gpgpu-sim.org).
+
+See Section 2 "INSTALLING, BUILDING and RUNNING GPGPU-Sim" below to get started.
+
+1. CONTRIBUTIONS and HISTORY
+
+GPGPU-Sim was created at the University of British Columbia by Tor M. Aamodt,
+Wilson W. L. Fung, Ali Bakhoda, George Yuan along with contributions by Ivan
+Sham, Henry Wong, Henry Tran, and others.
+
+GPGPU-Sim models the features of a modern graphics processor that are relevant
+to non-graphics applications. The first version of GPGPU-Sim was used in a
+MICRO'07 paper and follow-on ACM TACO paper on dynamic warp formation. That
+version of GPGPU-Sim used the SimpleScalar PISA instruction set for functional
+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.
+
+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
+library is contained in cuda-math.h, which also includes several structures
+derived from vector_types.h (one of the CUDA header files).
+
+See file CHANGES for updates in this and earlier versions.
+
+2. INSTALLING, BUILDING and RUNNING GPGPU-Sim
+
+GPGPU-Sim was developed on Linux SuSe (this release was tested with SuSe
+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.
+
+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
+the simulator, download and install NVIDIA's OpenCL driver from
+<http://developer.nvidia.com/object/opencl-download.html>. Update your PATH and
+LD_LIBRARY_PATH as indicated by the install scripts.
+
+Step 3: Build libcutil.a. The install script for the CUDA SDK does not do this
+step automatically. If you installed the CUDA Toolkit in a nonstandard location
+you will first need to set CUDA_INSTALL_PATH to the location you installed the
+CUDA toolkit (including the trailing "/cuda"). Then, change to the C/common
+subdirectory of your CUDA SDK installation (or common subdirectory on older
+CUDA SDK versions) and type "make".
+
+Step 4: Set environment variables (e.g., your .bashrc file if you use bash as
+your shell).
+
+ (a) Set GPGPUSIM_ROOT to point to the directory containing this README file.
+ (b) Set CUDAHOME to point to your CUDA installation directory
+ (c) Set NVIDIA_CUDA_SDK_LOCATION to point to the location of the CUDA SDK
+ (d) Add $CUDAHOME/bin and $GPGPUSIM_ROOT/bin to your PATH
+ (e) Add $GPGPUSIM_ROOT/lib/ to your LD_LIBRARY_PATH and remove $CUDAHOME/lib
+ or $CUDAHOME/lib64 from LD_LIBRARY_PATH
+ (f) If using OpenCL, set NVOPENCL_LIBDIR to the installation directory of
+ libOpenCL.so distributed with the NVIDIA OpenCL driver.
+ On SuSe 11.1 64-bit NVIDIA's libOpenCL.so is installed in /usr/lib64/.
+
+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.
+
+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
+
+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
+-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