summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile10
-rw-r--r--libopencl/Makefile143
-rw-r--r--setup_environment17
3 files changed, 93 insertions, 77 deletions
diff --git a/Makefile b/Makefile
index eed9f8f..8e248fe 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,12 @@ ifeq ($(shell uname),Linux)
else
TARGETS += $(SIM_LIB_DIR)/libcudart.dylib
endif
-ifneq ($(NVOPENCL_LIBDIR),)
+
+ifeq ($(NVOPENCL_LIBDIR),)
+ TARGETS += no_opencl_support
+else ifeq ($(NVOPENCL_INCDIR),)
+ TARGETS += no_opencl_support
+else
TARGETS += $(SIM_LIB_DIR)/libOpenCL.so
endif
TARGETS += decuda_to_ptxplus/decuda_to_ptxplus
@@ -60,6 +65,9 @@ endif
gpgpusim: makedirs $(TARGETS)
+no_opencl_support:
+ @echo "Warning: gpgpu-sim is building without opencl support. Make sure NVOPENCL_LIBDIR and NVOPENCL_INCDIR are set"
+
$(SIM_LIB_DIR)/libcudart.so: $(LIBS) cudalib
g++ $(SNOW) -shared -Wl,-soname,libcudart.so \
$(SIM_OBJ_FILES_DIR)/libcuda/*.o \
diff --git a/libopencl/Makefile b/libopencl/Makefile
index 0247048..cc3221b 100644
--- a/libopencl/Makefile
+++ b/libopencl/Makefile
@@ -103,7 +103,7 @@ depend:
nvopencl_wrapper: nvopencl_wrapper.cc
if [ ! -d bin ]; then mkdir bin; fi
- g++ $(CCFLAGS) nvopencl_wrapper.cc -I./ -I$(NVIDIA_CUDA_SDK_LOCATION)/OpenCL/common/inc -L $(NVOPENCL_LIBDIR) -lOpenCL -o bin/nvopencl_wrapper
+ g++ $(CCFLAGS) nvopencl_wrapper.cc -I./ -I$(NVOPENCL_INCDIR)/ -L $(NVOPENCL_LIBDIR) -lOpenCL -o bin/nvopencl_wrapper
OUTPUT_DIR=../$(SIM_OBJ_FILES_DIR)/libopencl
@@ -117,74 +117,73 @@ clean:
rm -f bin/nvopencl_wrapper
# DO NOT DELETE
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/stdlib.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/features.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/sys/cdefs.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/wordsize.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/gnu/stubs.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/gnu/stubs-64.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/sys/types.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/types.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/typesizes.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/time.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/endian.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/endian.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/byteswap.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/sys/select.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/select.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/sigset.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/time.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/sys/sysmacros.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/pthreadtypes.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/alloca.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/stdio.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/libio.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/_G_config.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/wchar.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/stdio_lim.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/sys_errlist.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/string.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/xlocale.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/assert.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/cuda-sim.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_loader.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_ir.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx.tab.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_sim.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/tr1_hash_map.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/opcodes.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/opcodes.def
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/memory.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/option_parser.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpusim_entrypoint.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-sim.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/addrdec.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/shader.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/math.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/huge_val.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/huge_valf.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/huge_vall.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/inf.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/nan.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/mathdef.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/mathcalls.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx.tab.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/delayqueue.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/intersim/statwraper.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-misc.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/stack.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/dram.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/zlib.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/zconf.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/unistd.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/posix_opt.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/bits/confname.h
-../build/release/libopencl/opencl_runtime_api.o: /usr/include/getopt.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/scoreboard.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/mem_fetch.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/stats.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-cache.h
-../build/release/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/shader.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/stdlib.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/features.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/sys/cdefs.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/wordsize.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/gnu/stubs.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/gnu/stubs-64.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/sys/types.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/types.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/typesizes.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/time.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/endian.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/endian.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/byteswap.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/sys/select.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/select.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/sigset.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/time.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/sys/sysmacros.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/pthreadtypes.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/alloca.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/stdio.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/libio.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/_G_config.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/wchar.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/stdio_lim.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/sys_errlist.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/string.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/assert.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/cuda-sim.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_loader.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_ir.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx.tab.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx_sim.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/tr1_hash_map.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/opcodes.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/opcodes.def
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/memory.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/option_parser.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpusim_entrypoint.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/abstract_hardware_model.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-sim.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/addrdec.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/shader.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/math.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/huge_val.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/mathdef.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/mathcalls.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/cuda-sim/ptx.tab.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/delayqueue.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/intersim/statwraper.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-misc.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/stack.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/dram.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/zlib.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/zconf.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/unistd.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/posix_opt.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/confname.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/getopt.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/scoreboard.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/mem_fetch.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/stats.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/gpu-cache.h
+../build/debug/libopencl/opencl_runtime_api.o: ../src/gpgpu-sim/shader.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/CL/cl.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/CL/cl_platform.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/stdint.h
+../build/debug/libopencl/opencl_runtime_api.o: /usr/include/bits/wchar.h
diff --git a/setup_environment b/setup_environment
index 2d3e59d..a768065 100644
--- a/setup_environment
+++ b/setup_environment
@@ -2,7 +2,7 @@
# uncomment the line with debug if you want to run GPGPU-Sim in gdb
export GPGPUSIM_CONFIG=release
-#export GPGPUSIM_CONFIG=debug
+# export GPGPUSIM_CONFIG=debug
export GPGPUSIM_ROOT="$( cd "$( dirname "$BASH_SOURCE" )" && pwd )"
@@ -10,13 +10,22 @@ export QTINC=/usr/include
export BOOST_ROOT=/usr/include/boost
export BOOST_LIB=/usr/lib64
export BOOST_VER=
-export NVOPENCL_LIBDIR=/usr/lib64
+
+# change this to point to your opencl library directory, usually /usr/lib
+# or /usr/lib64. Not setting this variable will cause gpgpu-sim to build
+# without opencl support.
+export NVOPENCL_LIBDIR=
+
+# change this to point to your opencl include directory, usually
+# $CUDA_INSTALL_PATH/include. Not setting this variable will cause
+# gpgpu-sim to build without opencl support.
+export NVOPENCL_INCDIR=
# change this to point to your installation of the NVIDIA compute SDK
-export NVIDIA_COMPUTE_SDK_LOCATION=~/NVIDIA_GPU_Computing_SDK
+export NVIDIA_COMPUTE_SDK_LOCATION=$HOME/NVIDIA_GPU_Computing_SDK/
# change the following to point to your installation of CUDA Toolkit
-export CUDA_INSTALL_PATH=$HOME/nvcuda/3.1/cuda
+export CUDA_INSTALL_PATH=/usr/local/cuda/
# setting LD_LIBRARY_PATH as follows enables GPGPU-Sim to be invoked by
# native CUDA and OpenCL applications. GPGPU-Sim is dynamically linked