compilable now.
authorYangqing Jia <jiayq84@gmail.com>
Fri, 13 Sep 2013 04:10:35 +0000 (21:10 -0700)
committerYangqing Jia <jiayq84@gmail.com>
Fri, 13 Sep 2013 04:10:35 +0000 (21:10 -0700)
src/Makefile
src/caffeine/syncedmem.cpp
src/gtest/gtest-all.cpp [moved from src/gtest/gtest-all.cc with 100% similarity]

index 1f476c7..ab1a456 100644 (file)
@@ -5,13 +5,11 @@
 # using program.NAME, program.C_SRCS, etc. There are no structs in Make, so we use this convention
 # to keep track of attributes that all belong to the same target or program.  
 #
-CXX := nvcc
-
 PROJECT := caffeine
 NAME := lib$(PROJECT).so
 TEST_NAME := test_$(PROJECT)
-CXX_SRCS := $(shell find . ! -name "test_*.cpp" -name "*.cpp")
-TEST_SRCS := $(shell find . -name "test_*.cpp")
+CXX_SRCS := $(shell find caffeine ! -name "test_*.cpp" -name "*.cpp")
+TEST_SRCS := $(shell find caffeine -name "test_*.cpp") gtest/gtest-all.cpp
 PROTO_SRCS := $(wildcard caffeine/proto/*.proto)
 PROTO_GEN_HEADER := ${PROTO_SRCS:.proto=.pb.h}
 PROTO_GEN_CC := ${PROTO_SRCS:.proto=.pb.cc}
@@ -23,14 +21,14 @@ TEST_OBJS := ${TEST_SRCS:.cpp=.o}
 CUDA_DIR = /usr/local/cuda
 
 CUDA_INCLUDE_DIR = $(CUDA_DIR)/include
-CUDA_LIB_DIR = $(CUDA_DIR)/lib
+CUDA_LIB_DIR = $(CUDA_DIR)/lib64
 
 INCLUDE_DIRS := . $(CUDA_INCLUDE_DIR)
 LIBRARY_DIRS := . $(CUDA_LIB_DIR)
 LIBRARIES := cuda cudart cublas protobuf
 WARNINGS := -Wall
 
-CPPFLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
+CXXFLAGS += -fPIC $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir))
 LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir))
 LDFLAGS += $(foreach library,$(LIBRARIES),-l$(library))
 
@@ -43,7 +41,7 @@ all: $(NAME)
 test: $(TEST_NAME)
   
 $(TEST_NAME): $(TEST_OBJS) $(OBJS)
-       $(LINK) -o $(TEST_NAME) -l$(PROJECT) $(CXX_SRCS) $(TEST_SRCS) gtest/gtest-all.cc
+       $(CXX) $(TEST_OBJS) $(OBJS) -o $(TEST_NAME) $(LDFLAGS) $(WARNINGS)
 
 $(NAME): $(PROTO_GEN_CC) $(OBJS)
        $(LINK) -shared $(OBJS) -o $(NAME)
@@ -56,4 +54,4 @@ clean:
        $(RM) $(OBJS)
        $(RM) $(PROTO_GEN_HEADER) $(PROTO_GEN_CC)
 
-distclean: clean
\ No newline at end of file
+distclean: clean
index 8406330..849e7ce 100644 (file)
@@ -1,3 +1,4 @@
+#include <cstring>
 #include "cuda_runtime.h"
 
 #include "caffeine/common.hpp"
@@ -56,23 +57,23 @@ inline void SyncedMemory::to_gpu() {
 }
 
 
-inline const void* SyncedMemory::cpu_data() {
+const void* SyncedMemory::cpu_data() {
   to_cpu();
   return (const void*)cpu_ptr_;
 }
 
-inline const void* SyncedMemory::gpu_data() {
+const void* SyncedMemory::gpu_data() {
   to_gpu();
   return (const void*)gpu_ptr_;
 }
 
-inline void* SyncedMemory::mutable_cpu_data() {
+void* SyncedMemory::mutable_cpu_data() {
   to_cpu();
   head_ = HEAD_AT_CPU;
   return cpu_ptr_;
 }
 
-inline void* SyncedMemory::mutable_gpu_data() {
+void* SyncedMemory::mutable_gpu_data() {
   to_gpu();
   head_ = HEAD_AT_GPU;
   return gpu_ptr_;