Skip to content

ForCheetah/ConvAccelerate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConvAccelerate 信息

本项目包含一些基本的卷积加速算法,感兴趣的可以尝试下载运行。

本项目可能存在错误和不足,欢迎指教。

本项目借鉴和使用了项目convolution-flavors的结构,增加了新的算法。感兴趣的也可以去看看这个项目。

环境

openBlas m g++ gcc

安装Openblas库可以参考博客 Openblas安装方法

运行

  1. main.c中关掉想要测试的函数注释
    //1.  测试 weight_col matmul input_tensor_col
    TestIm2FlavorConvLayer();

    //2. 测试 input_tensor_col matmul weight_col
    // TestIm2ColConvIMW();

    //3.  测试 weight_cube matmul input_cube  逐个取数
    // TestIm2CubeConvLayer();

    //4.  测试 image -> col_2D -> cube with multi-mem-copy  批量取数
    // TestIm2MencopyConvLayer();

    //5.  测试 image -> col_2D -> cube with multi-mem-copy  批量取数  NHWC 版本
    // TestIm2BatchcopyConvLayer();

    //6.  测试 winograd alogrithm  F(2*2, 3*3)  
    // TestWinogradF23ConvLayer();

    //7.  测试 winograd alogrithm  F(6*6, 3*3)  
    // TestWinogradF63ConvLayer();

    //8.  测试 NHWC 排布 CPU卷积算法的正确性
    // TestCPU_NHWC_conv();

    //9.  测试 昇腾 卷积算法加速     NCHW 输入, NHWC输出
    // TestAscendConvLayer();

    //10.  测试 昇腾 卷积算法加速      NCHW 输入, NCHW输出
    // TestAscendConvLayerNCHW();

    //11. 测试 昇腾卷积算法加速 NHWC      NHWC 输入, NHWC输出
    // TestAscendConvLayerNHWC();
  1. 修改 CMakeLists.txt文件中 openBlas 库的路径

  2. 编译运行

    mkdir build && cd build
    cmake ..
    make
    ./alogrithm

About

conv accelerate 基本的卷积加速算法

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published