diff options
| author | Mahmoud <[email protected]> | 2019-06-18 17:51:28 -0400 |
|---|---|---|
| committer | Mahmoud <[email protected]> | 2019-06-18 17:51:28 -0400 |
| commit | f025d73e8fc28f815e5d34b4e1427ed1918e8555 (patch) | |
| tree | f2340680bc36c21f06fb190d99ffbc21e629b1a0 | |
| parent | fe58efe9c8ca38f7d0f3781e54b04bc526bdfd07 (diff) | |
| parent | 6337105df018f25ad1b58afa040d8b1006f2a0ce (diff) | |
Merge branch 'dev' of https://github.com/gpgpu-sim/gpgpu-sim_distribution into dev-private
| -rw-r--r-- | .travis.yml | 5 | ||||
| -rw-r--r-- | Makefile | 1 | ||||
| -rw-r--r-- | README | 26 | ||||
| -rw-r--r-- | configs/tested-cfgs/SM7_QV100/gpgpusim.config | 6 | ||||
| -rw-r--r-- | src/gpgpu-sim/gpu-cache.h | 6 |
5 files changed, 37 insertions, 7 deletions
diff --git a/.travis.yml b/.travis.yml index b38f468..82f0604 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,5 +18,10 @@ matrix: - CONFIG=TITANV - CUDA_INSTALL_PATH=/usr/local/cuda-9.1/ - PTXAS_CUDA_INSTALL_PATH=/usr/local/cuda-9.1/ + - services: docker + env: + - CONFIG=TITANV-LOCALXBAR + - CUDA_INSTALL_PATH=/usr/local/cuda-9.1/ + - PTXAS_CUDA_INSTALL_PATH=/usr/local/cuda-9.1/ script: docker run -v `pwd`:/home/runner/gpgpu-sim_distribution:rw tgrogers/gpgpu-sim_regress:volta_update /bin/bash -c "./start_torque.sh; chown -R runner /home/runner/gpgpu-sim_distribution; su - runner -c 'export CUDA_INSTALL_PATH=$CUDA_INSTALL_PATH && export PTXAS_CUDA_INSTALL_PATH=$PTXAS_CUDA_INSTALL_PATH && source /home/runner/gpgpu-sim_distribution/setup_environment && make -j -C /home/runner/gpgpu-sim_distribution && cd /home/runner/gpgpu-sim_simulations/ && git pull && /home/runner/gpgpu-sim_simulations/util/job_launching/run_simulations.py -C $CONFIG -B rodinia_2.0-ft -N regress && /home/runner/gpgpu-sim_simulations/util/job_launching/monitor_func_test.py -v -N regress'" @@ -168,6 +168,7 @@ $(SIM_LIB_DIR)/libcudart.so: makedirs $(LIBS) cudalib if [ ! -f $(SIM_LIB_DIR)/libcudart.so.10.0 ]; then ln -s libcudart.so $(SIM_LIB_DIR)/libcudart.so.10.0; fi if [ ! -f $(SIM_LIB_DIR)/libcudart.so.10.1 ]; then ln -s libcudart.so $(SIM_LIB_DIR)/libcudart.so.10.1; fi + $(SIM_LIB_DIR)/libcudart.dylib: makedirs $(LIBS) cudalib g++ -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,1.1,-current_version,1.1\ $(SIM_OBJ_FILES_DIR)/libcuda/*.o \ @@ -177,7 +177,7 @@ GPGPU-Sim dependencies: * flex * zlib * CUDA Toolkit - + GPGPU-Sim documentation dependencies: * doxygen * graphvi @@ -208,6 +208,9 @@ python-matplotlib" CUDA SDK dependencies: "sudo apt-get install libxi-dev libxmu-dev libglut3-dev" +If you are running applications which use NVIDIA libraries such as cuDNN and +cuBLAS, install them too. + Finally, ensure CUDA_INSTALL_PATH is set to the location where you installed the CUDA Toolkit (e.g., /usr/local/cuda) and that $CUDA_INSTALL_PATH/bin is in your PATH. You probably want to modify your .bashrc file to incude the @@ -216,6 +219,10 @@ following (this assumes the CUDA Toolkit was installed in /usr/local/cuda): export CUDA_INSTALL_PATH=/usr/local/cuda export PATH=$CUDA_INSTALL_PATH/bin +If running applications which use cuDNN or cuBLAS: + export CUDNN_PATH=<Path To cuDNN Directory> + export LD_LIBRARY_PATH=$CUDA_INSTALL_PATH/lib64:$CUDA_INSTALL_PATH/lib:$CUDNN_PATH/lib64 + Step 2: Build ============= @@ -261,6 +268,23 @@ ldd <your_application_name> You should see that your application is using libcudart.so file in GPGPUSim directory. +If running applications which use cuDNN or cuBLAS: + + * Modify the Makefile or the compilation command of the application to change + all the dynamic links to static ones, for example: + * -L$(CUDA_PATH)/lib64 -lcublas to + -L$(CUDA_PATH)/lib64 -lcublas_static + + * -L$(CUDNN_PATH)/lib64 -lcudnn to + -L$(CUDNN_PATH)/lib64 -lcudnn_static + + * Modify the Makefile or the compilation command such that the following + flags are used by the nvcc compiler: + -gencode arch=compute_61,code=compute_61 + + (the number 61 refers to the SM version. You would need to set it based + on the GPGPU-Sim config "-gpgpu ptx force max capability" you use) + Copy the contents of configs/QuadroFX5800/ or configs/GTX480/ to your application's working directory. These files configure the microarchitecture models to resemble the respective GPGPU architectures. diff --git a/configs/tested-cfgs/SM7_QV100/gpgpusim.config b/configs/tested-cfgs/SM7_QV100/gpgpusim.config index 16c131b..1a34d0f 100644 --- a/configs/tested-cfgs/SM7_QV100/gpgpusim.config +++ b/configs/tested-cfgs/SM7_QV100/gpgpusim.config @@ -11,7 +11,7 @@ # functional simulator specification -gpgpu_ptx_instruction_classification 0 -gpgpu_ptx_sim_mode 0 --gpgpu_ptx_force_max_capability 70 +-gpgpu_ptx_force_max_capability 60 # Device Limits @@ -21,7 +21,7 @@ -gpgpu_runtime_pending_launch_count_limit 2048 # Compute Capability --gpgpu_compute_capability_major 7 +-gpgpu_compute_capability_major 6 -gpgpu_compute_capability_minor 0 # SASS execution (only supported with CUDA >= 4.0) @@ -44,7 +44,7 @@ # shader core pipeline config -gpgpu_shader_registers 65536 --gpgpu_occupancy_sm_number 70 +-gpgpu_occupancy_sm_number 60 # This implies a maximum of 64 warps/SM -gpgpu_shader_core_pipeline 2048:32 diff --git a/src/gpgpu-sim/gpu-cache.h b/src/gpgpu-sim/gpu-cache.h index 673e128..9725270 100644 --- a/src/gpgpu-sim/gpu-cache.h +++ b/src/gpgpu-sim/gpu-cache.h @@ -681,15 +681,15 @@ public: // tag + index is required to check for hit/miss. Tag is now identical to the block address. //return addr >> (m_line_sz_log2+m_nset_log2); - return addr & ~(m_line_sz-1); + return addr & ~(new_addr_type)(m_line_sz-1); } new_addr_type block_addr( new_addr_type addr ) const { - return addr & ~(m_line_sz-1); + return addr & ~(new_addr_type)(m_line_sz-1); } new_addr_type mshr_addr( new_addr_type addr ) const { - return addr & ~(m_atom_sz-1); + return addr & ~(new_addr_type)(m_atom_sz-1); } enum mshr_config_t get_mshr_type() const { |
