编译算子插件
- 以DDK安装用户登录DDK所在服务器。
- 在“projects/customop_te/plugin”目录下修改Makefile文件。
cd $HOME/tools/projects/customop_te/plugin/
vi Makefile
- 修改生成的算子插件名称。
ll : libcaffe_reduction_layer.so lib_caffe_parser.so ……bian libcaffe_reduction_layer.so: $(OBJS_customop) $(CC) -c $(CC_FLAGS) -o proto/caffe/caffe.pb.o proto/caffe/caffe.pb.cc $(CC) $^ $(LNK_FLAGS) -o $@ lib_caffe_parser.so: $(OBJS_no_customop) $(CC) -c $(CC_FLAGS) -o proto/caffe/caffe.pb.o proto/caffe/caffe.pb.cc @if [ -f $(LOCAL_DIR)/proto/caffe/caffe.proto ]; then $(CC) $^ proto/caffe/caffe.pb.o $(LNK_FLAGS) -o $@; fi;
libcaffe_reduction_layer.so即为生成的算子插件名称,用户可自行修改。
lib_caffe_parser.so是生成的解析caffe.proto文件的库文件,名称不可修改。若是Caffe算子,请确保同一模型中的所有不支持的自定义算子已在caffe.proto文件算子定义(可选)完成定义。
- 将“TOPDIR”指定到DDK的安装目录,例如
ifeq ($(DDK_PATH),) TOPDIR := $(HOME)/tools/che/ddk/ddk else TOPDIR := $(DDK_PATH) endif
- Makefile中其他内容无需改动,为算子插件编译通用模板。
- 修改生成的算子插件名称。
- 执行编译操作。
在当前plugin目录下执行如下命令进行算子插件的编译。
make
编译完成后会在当前目录下生成算子插件文件libcaffe_reduction_layer.so。