source
组织结构
当前实验1
2
3
4
5
6
7
8
9
10
11
12
13
14
15vdnn-plus-plus/
├── base # 编译 + 运行
├── compression_test
├── get_mean_var.sh
├── lag_time.py
├── mean_var.cpp
├── memory_manager_test
├── README.md
├── run_both.sh
├── run_network.sh
├── run_network_vgg.sh
├── simple_expt
├── vdnn # 编译 + 运行
├── vdnn_ext # 编译 + 运行
└── vdnn_ext_cmp # 编译失败
如何编译
这里可以参考vDNN: 先进入子文件夹,然后依次编译cnmem
, .
,编译逻辑可以查看CMakeLists.txt
。
以vdnn
为例:1
2
3
4
5
6
7
8cd vdnn
cd cnmem
cmake .
make
cd ..
cmake .
make
./alexnet_test.out # 测试
编译报错
cudnn.h/helper_cuda.h
找不到; 解决办法:安装对应的库/找到对应的文件, 并且将对应的文件夹路径加入CMakeLists.txt
中的include_directories
, 同时更新CMakeList.txt
中的link_directories
如何上手
- 登录gpu12
docker exec -it vdnn bash
cd /data/togo/vdnn-plus-plus
cd vdnn_ext
# 以vdnn_ext为例./vgg_test.out m
可运行测试结果
- 执行的命令一般都添加参数m,以vgg为例,执行命令为
./vgg_test.out m
runnable
中为yes
的表示正常执行了一段时间,并不一定完全结束
base
network | runnable | hint |
---|---|---|
mnist | no | unable to read dataset(no data) |
alexnet | yes | finished test |
vgg | no | CUDA error at (cudaMalloc) |
neural_net | yes | finished test |
vdnn
network | runnable | hint |
---|---|---|
mnist | no | unable to read dataset(no data) |
alexnet | yes | start but encounter OOM |
vgg | yes | start but encounter OOM |
neural_net | yes | finished test |
slow_conv | yes | finished test |
vdnn_ext
network | runnable | hint |
---|---|---|
mnist | no | unable to read dataset(no data) |
alexnet | yes | finished test |
vgg | yes | finished test |
neural_net | yes | finished test |
slow_conv | yes | finished test |
vdnn_ext_cmp
编译报错,待补充
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。