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 bashcd /data/togo/vdnn-plus-pluscd 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
编译报错,待补充
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。