tf 自定义op 编译

nvcc = /usr/local/cuda-10.1/bin/nvcc
cudalib = /usr/local/cuda-10.1/lib64/
tensorflow = /home/wai/anaconda3/envs/py27/lib/python2.7/site-packages/tensorflow/include
tflag = -L/home/wai/anaconda3/envs/py27/lib/python2.7/site-packages/tensorflow -ltensorflow_framework

all: depthestimate/tf_nndistance_so.so depthestimate/render_balls_so.so
.PHONY : all

#depthestimate/tf_nndistance_so.so: depthestimate/tf_nndistance_g.cu.o depthestimate/tf_nndistance.cpp
	g++ -std=c++11 depthestimate/tf_nndistance.cpp depthestimate/tf_nndistance_g.cu.o -o depthestimate/tf_nndistance_so.so -shared -fPIC -I $(tensorflow) -lcudart -L $(cudalib) -O2  

#depthestimate/tf_nndistance_g.cu.o: depthestimate/tf_nndistance_g.cu
	$(nvcc)  -std=c++11 -c -o depthestimate/tf_nndistance_g.cu.o depthestimate/tf_nndistance_g.cu -I $(tensorflow) -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -O2

#depthestimate/render_balls_so.so: depthestimate/render_balls_so.cpp
	g++ -std=c++11 depthestimate/render_balls_so.cpp -o depthestimate/render_balls_so.so -shared -fPIC -O2 

depthestimate/tf_nndistance_so.so: depthestimate/tf_nndistance_g.cu.o depthestimate/tf_nndistance.cpp
		g++ -std=c++11 depthestimate/tf_nndistance.cpp depthestimate/tf_nndistance_g.cu.o -o depthestimate/tf_nndistance_so.so -shared -fPIC -I $(tensorflow) $(tflag) -lcudart -L $(cudalib) -O2 -D_GLIBCXX_USE_CXX11_ABI=1 

depthestimate/tf_nndistance_g.cu.o: depthestimate/tf_nndistance_g.cu
		$(nvcc) -D_GLIBCXX_USE_CXX11_ABI=1 -std=c++11 -c -o depthestimate/tf_nndistance_g.cu.o depthestimate/tf_nndistance_g.cu -I $(tensorflow) -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -O2

depthestimate/render_balls_so.so: depthestimate/render_balls_so.cpp
		g++ -std=c++11 depthestimate/render_balls_so.cpp -o depthestimate/render_balls_so.so -shared -fPIC -O2 -D_GLIBCXX_USE_CXX11_ABI=1


你可能感兴趣的:(python)