CPU 优化
文章平均质量分 81
爱上一只柠檬的pig_head
目前专注于深度学习框架的性能优化,主要针对CPU backend进行优化,熟悉模型量化,算子优化,分布式深度学习训练等领域。
展开
-
VNNI 指令集检测
VNNI 指令集从 Intel Xeon 第二代 cascade lake开始支持,你可以通过以下途径检测是否用oneDNN 正常运行VNNI 指令加速. git clone https://github.com/oneapi-src/oneDNN.git cd oneDNN/ mkdir build cd build/ cmake ../ make -j DNNL_VERBOSE=1 ./tests/benchdnn/benchdnn --matmul --cfg=u8s8u8 12x128x768:原创 2022-06-09 17:03:29 · 1455 阅读 · 0 评论 -
debug
1. sleep for gdb attach #include <sys/types.h> #include <unistd.h> volatile int i = 0; static char hostname[256] = "local johnlu"; printf("PID %d on %s ready for attach\n", getpid(), hostname); fflush(stdout); sleep(30);原创 2020-11-30 12:39:32 · 105 阅读 · 0 评论 -
程序性能优化知识框架
1.计算机基础知识 1.1 缓存 1)What is a “cache-friendly” code? https://stackoverflow.com/questions/16699247/what-is-a-cache-friendly-code/16699282#16699282 2)计算机缓存Cache以及Cache L...原创 2020-02-21 14:04:58 · 916 阅读 · 0 评论 -
深度学习工程化(1)多维图片在内存的高效存储和访问
大多数计算都是关于数据的:分析数据,调整数据,读取和存储数据,生成数据等。深度学习框架也不例外。图像,权重/过滤器,声音和文本需要有效地表示在计算机内存中,以便于以最便捷的方式快速执行操作。 对计算机内存了解的同学应该知道,应用程序看到的内存是线性存储空间(即1D),而图片等数据是多维数据,如何建立多维逻辑表示和线性物理排布的映射关系并高效访问指定的指定的元素? 本文致力于数据格式-一种数据表示形式,它描述了多维数组(nD)如何存储在线性(1D)内存地址空间中以及为什么这对深度学习算法非常重要。 .原创 2020-10-22 12:53:43 · 669 阅读 · 0 评论 -
计算机缓存知识大总结
1. 如何查看计算机的缓存信息 1 ) getconf 命令查看 $ getconf -a|grep CACHE LEVEL1_ICACHE_SIZE 32768 LEVEL1_ICACHE_ASSOC 8 LEVEL1_ICACHE_LINESIZE 64 LEVEL1_DCACHE_SIZE ...原创 2020-04-19 15:28:16 · 283 阅读 · 0 评论