文章列表
上文可以说是一个大杂烩,开发环境是Ubuntu的Eclipse C/C++ SDK。代码实现了求两个方阵的乘积。其中使用到的技术如下:
(1)Intel的SIMD技术SSE,这样可以用一条指令实现4个浮点数的乘法,加法;
(2)多线程调用了pthread,结合其中提供的锁机制可以自动为多个线程平均分配任务;
(3)方阵的分块处理,主要是考虑大矩阵在计算过程中内存存取突破了局部性访问原则,将其转化成小矩阵提高Cache命中率。
其中的SSE部分有一些参考价值,因为这个方面的资料很少。分块部分的效率不行,稍加改进可能可以进一步提高Cache的利用率。假设分块刚好占用一半Cache容量,那么C ...
/*
============================================================================
Name : matrix_mul_block.c
Author : yin
Version :
Copyright : Copyright received yinhongliang
Description : Hello World in C, Ansi-style
===================================================== ...