Blame src/components/cuda/tests/Makefile
|
Packit |
577717 |
NAME=cuda
|
|
Packit |
577717 |
include ../../Makefile_comp_tests.target
|
|
Packit |
577717 |
|
|
Packit |
577717 |
CUDA_DIR ?= /opt/cuda
|
|
Packit |
577717 |
CUPTI_DIR ?= $(CUDA_DIR)/extras/CUPTI
|
|
Packit |
577717 |
CUDRV_DIR ?= $(CUDA_DIR)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
TESTS = HelloWorld simpleMultiGPU simpleMultiGPU_no_counters
|
|
Packit |
577717 |
cuda_tests: $(TESTS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
CUDA_DIR ?= $(CUDA_PATH)
|
|
Packit |
577717 |
NVCC = $(CUDA_DIR)/bin/nvcc
|
|
Packit |
577717 |
NVCFLAGS = -g -ccbin='$(CC)'
|
|
Packit |
577717 |
INCLUDE += -I$(CUDA_DIR)/include -I$(CUPTI_DIR)/include
|
|
Packit |
577717 |
CUDALIBS = -L$(CUDRV_DIR)/lib64 -L$(CUDA_DIR)/lib64 -L$(CUPTI_DIR)/lib64 -lcudart -lcupti -lcuda
|
|
Packit |
577717 |
PAPILIB += -L../../../libpfm4/lib -lpfm
|
|
Packit |
577717 |
default: $(TESTS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
%.o:%.cu
|
|
Packit |
577717 |
$(NVCC) $(INCLUDE) $(NVCFLAGS) -c -o $@ $<
|
|
Packit |
577717 |
|
|
Packit |
577717 |
HelloWorld: HelloWorld.o $(UTILOBJS)
|
|
Packit |
577717 |
$(NVCC) $(NVCFLAGS) -o HelloWorld HelloWorld.o $(UTILOBJS) $(PAPILIB) $(CUDALIBS) $(LDFLAGS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
simpleMultiGPU: simpleMultiGPU.cu $(UTILOBJS)
|
|
Packit |
577717 |
$(NVCC) $(NVCFLAGS) $(INCLUDE) -DPAPI -g -o $@ $+ $(UTILOBJS) $(PAPILIB) $(CUDALIBS) $(LDFLAGS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
simpleMultiGPU_no_counters: simpleMultiGPU.cu $(UTILOBJS)
|
|
Packit |
577717 |
$(NVCC) $(NVCFLAGS) $(INCLUDE) -DNO_COUNTERS -g -o $@ $+ $(UTILOBJS) $(PAPILIB) $(CUDALIBS) $(LDFLAGS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
simpleMultiGPU_cupti_only: simpleMultiGPU.cu $(UTILOBJS)
|
|
Packit |
577717 |
$(NVCC) $(NVCFLAGS) $(INCLUDE) -DCUPTI_ONLY -g -o $@ $+ $(UTILOBJS) $(PAPILIB) $(CUDALIBS) $(LDFLAGS)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
clean:
|
|
Packit |
577717 |
rm -f $(TESTS) *.o cuda_ld_preload_example.so
|
|
Packit |
577717 |
|
|
Packit |
577717 |
# Extra example to show LD_PRELOAD can be used to insert PAPI CUDA into a pre-existing binary
|
|
Packit |
577717 |
cuda_ld_preload_example.so: simpleMultiGPU_no_counters cuda_ld_preload_example.c
|
|
Packit |
577717 |
gcc -Wall -fPIC -shared -o cuda_ld_preload_example.so $(LFLAGS) $(INCLUDE) cuda_ld_preload_example.c ../../../libpapi.so
|
|
Packit |
577717 |
|
|
Packit |
577717 |
run:
|
|
Packit |
577717 |
( cd ~/icl/papi/papi/src/ && make )
|
|
Packit |
577717 |
( make HelloWorld )
|
|
Packit |
577717 |
./HelloWorld
|
|
Packit |
577717 |
( cd ~/icl/papi/papi/src/ && make )
|
|
Packit |
577717 |
( make simpleMultiGPU )
|
|
Packit |
577717 |
./simpleMultiGPU
|