VEC-C基础
来源:互联网 发布:《超级优化》txt全集 编辑:程序博客网 时间:2024/05/22 12:13
VEC-C描述:Create small,compact code,reduce cycle count !
VEC-C的作用是优化代码,减少cycle数,让代码翻译出来的汇编代码有更多的并行操作(直观看起来就是有很多或符号‘||’)。
在CEVA中有3种等级的优化:
1,C level : easy 通过C代码本身的优化
2,VEC-C : hard 需要对指令集和架构非常了解
3,Assembly level : very hard 需要对架构、指令集以及汇编都要精通
显然第三等级的优化需要非常专业的汇编开发员才能完成,通常情况VEC-C就可以达到很理想的优化效果。
VEC-C优化原理:
CEVA定义了一系列的VEC-C intrinsic是一个非常接近汇编的一个函数集,这个函数集使用了向量处理来达到并行运算的目的。
拓展:在vs c++里有intrinsic和inline函数,inline以前是用来优化函数调用速度的,在函数中调用函数的时候,直接拷贝被调用函数的内容进来,从而减少调用次数,以增加代码量为代价来优化速度。现在的编译器已经默认执行这个操作了,inline函数用来指示多处函数的定义。相反intrinsic函数就是用来取消这个默认优化操作。编程人员写的函数要比这个默认操作更加优化,那就用intrinsic来取消这个默认操作。后来intrinsic代表了一个不需要这个默认操作的一系列函数集,比如strcmp、strcpy等,代表了非常优化的一类函数。
所以,VEC-C intrinsic就是CEVA公司开发出来的一类近似汇编的优化过的函数。用VEC-C来优化代码就是要学会如何用这一系列的intrinsic函数来代替c代码中的笨拙操作,让原来的标量处理过程变成矢量处理。
vec-c intrinsic对数据有这三种类型的操作:binary operators、compare operators、unary operators。
阅读全文
0 0
- VEC-C基础
- VEC-C直方图
- VEC-C滑窗
- vec
- 看懂第一个VEC-C 程序
- VEC-C之直方图使用案例源码
- VEC-C 进阶 指令解析及寻址模式
- VEC-C之VPLD的rel与abslute两种寻址模式理解源码
- VEC-C之滑窗应用案例-3X3高斯滤波器
- if( vec.end() == vec.erase( vec.begin() , vec.end() ) )不一定为真!
- 縮寫(uchar、ushort、Vec)
- Rust: rev()、Vec<>、其它
- Cocos2d-x中的Vec类
- const vector<int> vec(10)
- Rust: Vec用法及其它
- OpenCV Tutorial: 縮寫(uchar、ushort、Vec)
- hdu 1106 排序(auto遍历)(vec用法)
- opencv中Matx类和Vec类
- linux下生成so库及调用
- 解决The same input jar alipaySingle-20170510.jar] is specified twice.
- 辨析 new self(); new static();
- 离线下载pip包进行安装
- Spring上设置mysql数据源动态切换(master写、slaver读)
- VEC-C基础
- PyQt5中文基础教程10 绘图
- 分布式框架--JEESZ技术介绍文档
- C++/CLI 实战技术收集(我讨厌MFC)
- Spring Boot(2)新建Spring Boot工程
- codeforces 828B. Black Square(水题)
- root后,adb shell 失败
- 结合W3school详解jquery常用语法以及面试常见问题
- October CMS