您的位置:首页 > 其它

桌面支持--电脑桌面图标全选怎么解除.png

2015-08-19 15:51 148 查看
上文可以说是一个大杂烩,开发环境是Ubuntu的Eclipse C/C++ SDK。代码实现了求两个方阵的乘积。其中使用到的技术如下:

(1)Intel的SIMD技术SSE,这样可以用一条指令实现4个浮点数的乘法,加法;

(2)多线程调用了pthread,结合其中提供的锁机制可以自动为多个线程平均分配任务;

(3)方阵的分块处理,主要是考虑大矩阵在计算过程中内存存取突破了局部性访问原则,将其转化成小矩阵提高Cache命中率。

其中的SSE部分有一些参考价值,因为这个方面的资料很少。分块部分的效率不行,稍加改进可能可以进一步提高Cache的利用率。假设分块刚好占用一半Cache容量,那么C11 = (A11 * B11 + A12 * B21 + A13 * B31),C12 =(A11 * B12 +A12 * B22 + A13 * B32),Cache在C11和C12计算过程中有6次完全更新。若是改为C11 =+ A11 * B11,C12 =+ A11 * B12,C11 =+ A12 * B21,C12 =+ A12 * B22,C11 += A13 * B31,C12 =+ A13 * B32,Cache在计算过程中有3次完全更新和3次不完全更新。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: