1#------------------------------------------------------------------------------- 2# GraphBLAS/CUDA/Makefile 3#------------------------------------------------------------------------------- 4 5# cuda 10.1 is assumed 6 7SRC = GB*.cu 8SRC2 = $(notdir $(wildcard $(SRC))) 9OBJ = $(SRC2:.cu=.o) 10 11I = -I. -I../Source -I../Source/Template -I../Include 12SO_NAME = libgraphblascuda.a 13 14LIBS = -L/usr/local/cuda/lib64 -lcudadevrt -lcudart 15 16CUDA_OPTS = -O2 --cudart=shared \ 17 --relocatable-device-code true \ 18 --std=c++11 -Xcompiler -fPIC 19 20$(SO_NAME): $(OBJ) 21 echo $(OBJ) 22 ar rv $@ $^ 23 24%.o: %.cu 25 nvcc -c $(I) $(CUDA_OPTS) -o $@ $< $(LIBS) 26 27config: 28 nvidia-smi 29 nvcc --version 30 @echo " " 31 @echo "SO_NAME: " $(SO_NAME) 32 @echo "SO_OPTS: " $(SO_OPTS) 33 @echo "LIBS: " $(LIBS) 34 @echo "CUDA_OPTS: " $(CUDA_OPTS) 35 @echo "SRC: " $(SRC) 36 @echo "OBJ: " $(OBJ) 37 @echo "I: " $(I) 38 @echo " " 39 gcc --version 40 icc --version 41 42clean: 43 rm -f *.o 44 45distclean: clean 46 rm -f *.so 47 48purge: distclean 49 50