- Unrollinig
- SIMD
- OpenMP
- OpenCL
- OS macOS Mojave 10.14.6
- CPU 2.7GHz Intel Core i7
- GPU Intel Iris Plus GraPhics 655 1536MB
- Complier g++, clang++
- OpenCL OpenCL 1.2
利用CPU多核将数据无关的循环分配到多线程同时执行
OpenMP对macOS平台支持不完善,环境配置,编译困难
解决:
clang++ -Xpreprocessor -fopenmp -O3 *.cpp -o ../Release/openmp_cnn -lomp
Forward:按照每个输出像素分配一个线程展开 与forward顺序相反 output层:按照num_neuron_output_CNN循环展开 分为两个kernel函数,分别计算weight和bias