Dear all,
I am trying to achieve high-speed DNA sequence data anlaysis using our original algorithm, and consider that cuda and PFAC library should be useful for this trial.
I have a machine with Tesla K20c, where ubuntu and CUDA-7.0 is already installed. I downloaded the package from GitHub - pfac-lib/PFAC: PFAC is an open library for exact string matching performed on NVIDIA GPUs, and try make in directory PFAC. To solve compile errors occured in the first trial, I modified common.mk and src/Makefile as follows:
%diff common.mk common.mk~
63,64c63,64
< sm_21_support := $(if $(filter $(nvcc_version), 3.2 4.0 4.1 4.2 7.0),1,)
< sm_30_support := $(if $(filter $(nvcc_version), 4.2 7.0),1,)
sm_21_support := $(if $(filter $(nvcc_version), 3.2 4.0 4.1 4.2),1,)
sm_30_support := $(if $(filter $(nvcc_version), 4.2),1,)
% diff Makefile~ Makefile
51,53c51,53
< #cu_cpp_sm13_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm13_%.cpp,$(CU_CPP))
< #cu_cpp_sm12_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm12_%.cpp,$(CU_CPP))
< #cu_cpp_sm11_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm11_%.cpp,$(CU_CPP))
cu_cpp_sm13_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm13_%.cpp,$(CU_CPP))
cu_cpp_sm12_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm12_%.cpp,$(CU_CPP))
cu_cpp_sm11_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm11_%.cpp,$(CU_CPP))
58,60c58,60
< #cu_cpp_obj_sm13_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm13_%.cpp.o,$(CU_CPP))
< #cu_cpp_obj_sm12_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm12_%.cpp.o,$(CU_CPP))
< #cu_cpp_obj_sm11_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm11_%.cpp.o,$(CU_CPP))
cu_cpp_obj_sm13_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm13_%.cpp.o,$(CU_CPP))
cu_cpp_obj_sm12_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm12_%.cpp.o,$(CU_CPP))
cu_cpp_obj_sm11_loc = $(patsubst %.cpp,$(OBJ_DIR)/sm11_%.cpp.o,$(CU_CPP))
71,73c71
< mk_libso_no21: $(cu_cpp_sm20_loc)
< $(CXX) -shared -o $(LIB_DIR)/libpfac_sm20.so $(LIBS) $(cu_cpp_obj_sm20_l
oc)
< #mk_libso_no21: $(cu_cpp_sm20_loc) $(cu_cpp_sm13_loc) $(cu_cpp_sm12_loc) $(cu_cpp_sm11_loc)
#mk_libso_no21: $(cu_cpp_sm20_loc)
75,77c73,77
< # $(CXX) -shared -o $(LIB_DIR)/libpfac_sm13.so $(LIBS) $(cu_cpp_obj_sm13_loc)
< # $(CXX) -shared -o $(LIB_DIR)/libpfac_sm12.so $(LIBS) $(cu_cpp_obj_sm12_loc)
< # $(CXX) -shared -o $(LIB_DIR)/libpfac_sm11.so $(LIBS) $(cu_cpp_obj_sm11_loc)
mk_libso_no21: $(cu_cpp_sm20_loc) $(cu_cpp_sm13_loc) $(cu_cpp_sm12_loc) $(cu_cpp_sm11_loc)
$(CXX) -shared -o $(LIB_DIR)/libpfac_sm20.so $(LIBS) $(cu_cpp_obj_sm20_loc)
$(CXX) -shared -o $(LIB_DIR)/libpfac_sm13.so $(LIBS) $(cu_cpp_obj_sm13_loc)
$(CXX) -shared -o $(LIB_DIR)/libpfac_sm12.so $(LIBS) $(cu_cpp_obj_sm12_loc)
$(CXX) -shared -o $(LIB_DIR)/libpfac_sm11.so $(LIBS) $(cu_cpp_obj_sm11_loc)
After retrial of make, the test program enclosed in the archive, named “simple_example.exe” seemed to be successfully generated. However, test run of this program resulted in abort at first assertion.
simple_example.exe: simple_example.cpp:62: int main(int, char**): Assertion `PFAC_STATUS_SUCCESS == PFAC_status’ failed.
I checked by gdb that the value of PFAC_status was PFAC_STATUS_ARCH_MISMATCH when the error occurred.
How can I solve this program?
Thank you for any help.
Koji Doi