随笔分类 - ARM编程 NEON
摘要:课程内容 OpenBLAS项目介绍 矩阵乘法优化算法 一步步调优实现 以下为公开课完整视频,共64分钟: 以下为公开课内容的文字及 PPT 整理。 雷锋网的朋友们大家好,我是张先轶,今天主要介绍一下我们的开源矩阵计算库OpenBLAS以及矩阵乘法的优化。 首先,什么是BLAS? BLAS是 Basi
阅读全文
摘要:在c程序中,经常会遇到段错误(segment error)和总线错误(bus error),这两种问题出现的原因可能如下 段错误: 对一个NULL指针解引用。 访问程序进程以外的内存空间。 实际上,第一个原因可以规约到第二个原因,在一个c程序的虚拟内存空间中,从低地址到高地址一次是代码区,堆区(向上
阅读全文
摘要:简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编
阅读全文
摘要:开发过程中我们常常需要使用宏定义。。 为了尽可能多的使用GCC为我们提供的特性,首先我们需要知道gcc提供了那些特性。。。 gcc -dM -E - < /dev/null 没错,就这么一句话就可以搞定了。。。
阅读全文
摘要:在看《C程序性能优化》一书时,作者提到使用gcc编译器选项-fomit-frame-pointer能够提高程序性能,自己有些不解,决定探个究竟。 假设有如下简单程序: 不使用-fomit-frame-pointer选项编译出的二进制经过反汇编的代码如下: 加上编译选项-fomit-frame-poi
阅读全文
摘要:https://blog.csdn.net/zhang_shuai_2011/article/details/38119657 一. Cache Cache一般来说,需要关心以下几个方面 1)Cache hierarchy Cache的层次,一般有L1, L2, L3 (L是level的意思)的ca
阅读全文
摘要:原文地址 在这里,我们将处理一种常见的问题:输入的数据不是向量长度的倍数,需要处理数组开头或者结尾的剩余数据时。这种情况下,NEON可以如何处理。 剩余数据 使用NEON通常都是操作长度为4到16位的数据向量。经常地,你将会发现数组并不是那些长度的倍数,你必须单独处理这些剩余的数据。 例如,你想要在
阅读全文