From 8ce05994bc4ebc6a3dd765bb3dc72e3e15a4e6b1 Mon Sep 17 00:00:00 2001 From: James Nobis Date: Sat, 13 Nov 2010 21:36:57 -0600 Subject: [PATCH] misc cleanup and a special Makefile.linux_86_64 for boinc v Makefile for standalone builds --- .../distrrtgen_cuda/Makefile | 12 +++-- .../distrrtgen_cuda/Makefile.linux_x86_64 | 51 +++++++++++-------- .../BOINC client apps/distrrtgen_cuda/README | 39 ++++++++++---- 3 files changed, 66 insertions(+), 36 deletions(-) diff --git a/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile b/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile index 185bef0..c0e6d79 100644 --- a/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile +++ b/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile @@ -30,6 +30,8 @@ BOINC_LIB_DIR = $(BOINC_DIR)/lib CC = g++ COMMON_LIB_DIR = /usr/lib CUDA_PATH = /usr/local/cuda +CUDA_LIB = libcudart.so.2 +#CUDA_LIB = libcudart.so.3 INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) \ -I$(BOINC_API_DIR) -I$(CUDA_PATH)/include COMMON_API_PATH = ../../../Common/rt\ api @@ -48,7 +50,7 @@ LFLAGS = -Wall -static-libgcc -ansi $(INCLUDES) $(OPTIMIZATION) \ -L$(CUDA_PATH)/lib64 -L$(CUDA_PATH)/lib -L. -Xlinker -rpath . \ $(DEBUG) -LIBS = -lboinc_api -lboinc -lpthread -lcudart libcudart.so.3 libgcc_s.so.1 \ +LIBS = -lboinc_api -lboinc -lpthread -lcudart $(CUDA_LIB) libgcc_s.so.1 \ libstdc++.so.6 $(COMMON_LIB_DIR)/libpthread.a OBJS = ChainWalkContext.o des_enc.o des_setkey.o distrrtgen.o ecb_enc.o \ HashAlgorithm.o HashRoutine.o md4.o md5.o Public.o rcuda_ext.o rcuda.o @@ -57,11 +59,11 @@ OSNAME = $(shell uname -s) all: distrrtgen -distrrtgen: libcudart.so.3 libgcc_s.so.1 libstdc++.so.6 $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS) +distrrtgen: $(CUDA_LIB) libgcc_s.so.1 libstdc++.so.6 $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS) $(CXX) $(LFLAGS) $(OBJS) $(LIBS) -o distrrtgen -libcudart.so.3: - ln -s $(CUDA_PATH)/lib64/libcudart.so.3 libcudart.so.3 +$(CUDA_LIB): + ln -s $(CUDA_PATH)/lib64/$(CUDA_LIB) $(CUDA_LIB) libstdc++.so.6: ln -s `$(CC) $(CXXFLAGS) -print-file-name=libstdc++.so.6` @@ -79,7 +81,7 @@ debugall: DEBUG += -DDEBUG -g $(WARNALL) debugall: all distclean: - /bin/rm -f distrrtgen *.o libcudart.so.3 libgcc_s.so.1 libstdc++.so.6 + /bin/rm -f distrrtgen *.o $(CUDA_LIB) libgcc_s.so.1 libstdc++.so.6 rebuild: clean all diff --git a/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile.linux_x86_64 b/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile.linux_x86_64 index 7349cef..ec654cc 100644 --- a/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile.linux_x86_64 +++ b/BOINC software/BOINC client apps/distrrtgen_cuda/Makefile.linux_x86_64 @@ -29,11 +29,18 @@ BOINC_API_DIR = $(BOINC_DIR)/api BOINC_LIB_DIR = $(BOINC_DIR)/lib CC = g++ COMMON_LIB_DIR = /usr/lib +# ending for libcudart +CUDA_LIB = so.2 +#CUDA_LIB = so.3 CUDA_PATH = /usr/local/cuda +CUDA_VERSION = cuda__23 +#CUDA_VERSION = cuda__30 +#CUDA_VERSION = cuda__32 +PLATFORM = x86_64-pc-linux-gnu +VERSION = 3.10 INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) \ -I$(BOINC_API_DIR) -I$(CUDA_PATH)/include COMMON_API_PATH = ../../../Common/rt\ api -VERSION = 3.07 OPTIMIZATION = -O3 WARNALL = -Wextra -Wunused-macros -Wunsafe-loop-optimizations -Wundef \ @@ -49,9 +56,9 @@ LFLAGS = -Wall -static-libgcc -ansi $(INCLUDES) $(OPTIMIZATION) \ -L$(CUDA_PATH)/lib64 -L$(CUDA_PATH)/lib -L. -Xlinker -rpath . $(DEBUG) LIBS = -lboinc_api -lboinc -lpthread -lcudart \ - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_$(VERSION).so.3 \ - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_$(VERSION).so.1 \ - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_$(VERSION).so.6 \ + libcudart.$(CUDA_LIB)=libcudart_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).$(CUDA_LIB) \ + libgcc_s.so.1=libgcc_s_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.1 \ + libstdc++.so.6=libstdc++_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.6 \ $(COMMON_LIB_DIR)/libpthread.a OBJS = ChainWalkContext.o des_enc.o des_setkey.o distrrtgen.o ecb_enc.o \ HashAlgorithm.o HashRoutine.o md4.o md5.o Public.o rcuda_ext.o rcuda.o @@ -60,25 +67,25 @@ OSNAME = $(shell uname -s) all: distrrtgen -distrrtgen: libcudart_x86_64-pc-linux-gnu.so.3 \ - libgcc_s_x86_64-pc-linux-gnu.so.1 libstdc++_x86_64-pc-linux-gnu.so.6 \ +distrrtgen: libcudart_$(PLATFORM).$(CUDA_LIB) \ + libgcc_s_$(PLATFORM).so.1 libstdc++_$(PLATFORM).so.6 \ $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS) $(CXX) $(LFLAGS) $(OBJS) $(LIBS) -o distrrtgen -libcudart_x86_64-pc-linux-gnu.so.3: - ln -s $(CUDA_PATH)/lib64/libcudart.so.3 \ - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_$(VERSION).so.3 - echo -n "" > libcudart.so.3=libcudart_x86_64-pc-linux-gnu_$(VERSION).so.3.file_ref_info +libcudart_$(PLATFORM).$(CUDA_LIB): + ln -s $(CUDA_PATH)/lib64/libcudart.$(CUDA_LIB) \ + libcudart.$(CUDA_LIB)=libcudart_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).$(CUDA_LIB) + echo -n "" > libcudart.$(CUDA_LIB)=libcudart_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).$(CUDA_LIB).file_ref_info -libstdc++_x86_64-pc-linux-gnu.so.6: +libstdc++_$(PLATFORM).so.6: ln -s `$(CC) $(CXXFLAGS) -print-file-name=libstdc++.so.6` \ - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_$(VERSION).so.6 - echo -n "" > libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_$(VERSION).so.6.file_ref_info + libstdc++.so.6=libstdc++_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.6 + echo -n "" > libstdc++.so.6=libstdc++_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.6.file_ref_info -libgcc_s_x86_64-pc-linux-gnu.so.1: +libgcc_s_$(PLATFORM).so.1: ln -s `$(CC) $(CXXFLAGS) -print-file-name=libgcc_s.so.1` \ - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_$(VERSION).so.1 - echo -n "" > libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_$(VERSION).so.1.file_ref_info + libgcc_s.so.1=libgcc_s_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.1 + echo -n "" > libgcc_s.so.1=libgcc_s_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.1.file_ref_info clean: /bin/rm -f distrrtgen *.o @@ -91,12 +98,12 @@ debugall: all distclean: /bin/rm -f distrrtgen *.o \ - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_$(VERSION).so.1 \ - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_$(VERSION).so.6 \ - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_$(VERSION).so.3 \ - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_$(VERSION).so.1.file_ref_info \ - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_$(VERSION).so.6.file_ref_info \ - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_$(VERSION).so.3.file_ref_info + libgcc_s.so.1=libgcc_s_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.1 \ + libstdc++.so.6=libstdc++_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.6 \ + libcudart.$(CUDA_LIB)=libcudart_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).$(CUDA_LIB) \ + libgcc_s.so.1=libgcc_s_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.1.file_ref_info \ + libstdc++.so.6=libstdc++_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).so.6.file_ref_info \ + libcudart.$(CUDA_LIB)=libcudart_$(VERSION)_$(PLATFORM)_$(CUDA_VERSION).$(CUDA_LIB).file_ref_info rebuild: clean all diff --git a/BOINC software/BOINC client apps/distrrtgen_cuda/README b/BOINC software/BOINC client apps/distrrtgen_cuda/README index 1090b0a..0d9e2f5 100644 --- a/BOINC software/BOINC client apps/distrrtgen_cuda/README +++ b/BOINC software/BOINC client apps/distrrtgen_cuda/README @@ -1,10 +1,31 @@ Makefile is for a standalone build -Makefile.linux_x86_64 is for a boinc build which needs these files: - charset.txt - distrrtgen_3.07_x86_64-pc-linux-gnu__cuda30 - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_3.07.so.3 - libcudart.so.3=libcudart_x86_64-pc-linux-gnu_3.07.so.3.file_ref_info - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_3.07.so.1 - libgcc_s.so.1=libgcc_s_x86_64-pc-linux-gnu_3.07.so.1.file_ref_info - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_3.07.so.6 - libstdc++.so.6=libstdc++_x86_64-pc-linux-gnu_3.07.so.6.file_ref_info + edit the following as necessary: + BOINC_DIR + CUDA_LIB + CUDA_PATH +Makefile.linux_x86_64 is for a boinc build + edit the following as necessary: + BOINC_DIR + CUDA_LIB + CUDA_PATH + CUDA_VERSION + VERSION (arbitrary boinc version number) + + include these files for the bonic client: + charset.txt + distrrtgen_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION) + libcudart.so.3=libcudart_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.3 + libcudart.so.3=libcudart_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.3.file_ref_info + libgcc_s.so.1=libgcc_s_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.1 + libgcc_s.so.1=libgcc_s_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.1.file_ref_info + libstdc++.so.6=libstdc++_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.6 + libstdc++.so.6=libstdc++_$(VERSION)_x86_64-pc-linux-gnu__$(CUDA_VERSION).so.6.file_ref_info + +Makefile.linux_i686 + follow the above instructions and modify them as necessary + you *must* build on a 32-bit host short of a lot of trickery of the boinc + libs + +Cuda 2.3 tookit requires a driver version of at least 190.38 +Cuda 3.0 toolkit requires a driver version of at least 195.00 +Cuda 3.2 toolkit requires a driver version of at least 260.61 -- 2.39.2