vdnn-plus-plus

  1. source
  2. 组织结构
  3. 如何编译
    1. 编译报错
  4. 如何上手
  5. 可运行测试结果
    1. base
    2. vdnn
    3. vdnn_ext
    4. vdnn_ext_cmp

source

  1. vDNN++
  2. vDNN

组织结构

当前实验

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vdnn-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
8
cd vdnn
cd cnmem
cmake .
make
cd ..
cmake .
make
./alexnet_test.out # 测试

编译报错

  1. cudnn.h/helper_cuda.h找不到; 解决办法:安装对应的库/找到对应的文件, 并且将对应的文件夹路径加入CMakeLists.txt中的include_directories, 同时更新CMakeList.txt中的link_directories

如何上手

  1. 登录gpu12
  2. docker exec -it vdnn bash
  3. cd /data/togo/vdnn-plus-plus
  4. cd vdnn_ext # 以vdnn_ext为例
  5. ./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

编译报错,待补充


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。