最近有一个需求是测试单独算子在CPU、Caffe使用的GPU、cuDNN上的性能,一个是使用caffe的time问题,还有一个是使用单独的test功能。
time选项的使用,大家都比较熟悉,单独的test功能,需要专门设置一下。
上次编译Caffe的博客中提到https://www.cnblogs.com/jourluohua/p/9191322.html
在make all编译之后,有一个make test是用来编译test功能的,使用test功能的话,需要使用make runtest命令,该命令在Makefile文件中如下:
runtest: $(TEST_ALL_BIN)
$(TOOL_BUILD_DIR)/caffe
$(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle $(TEST_FILTER)
这里懂Makefile语法规则的人应该不难猜到,是一次运行所有的test功能,但是假如只想测试单独算子的话,测试其他算子没有必要,因此对Makefile进行了修改,比如测试convolution的话,可以写成这样:
#add by jourluohua
TEST_CONV = .build_release/test/test_convolution_layer.testbin
runtest_conv: $(TEST_ALL_BIN)
$(TOOL_BUILD_DIR)/caffe
$(TEST_CONV) $(TEST_GPUID) --gtest_shuffle $(TEST_FILTER)
使用make runtest_conv就可以只测试卷积算子了