0
A
回答
0
如果您的矩阵足够大,比如说大于60,那么您可以使用OpenMP进行编译(例如,使用gcc -fopenmp),并且产品将为您并行化。但是,最好尽可能在最高级别进行并行处理,特别是如果矩阵不是很大。那么这取决于您是否可以在算法中识别独立的任务。
0
首先,考虑特征库如何处理矩阵乘法是合适的。
然后,矩阵(MXN)维矢量(NX1)乘法无征可以这样写:
1 void mxv(int m, int n, double* a, double* b, double* c)
2 { //a=bxc
3 int i, j;
4
5 for (i=0; i<m; i++)
6 {
7 a[i] = 0.0;
8 for (j=0; j<n; j++)
9 a[i] += b[i*n+j]*c[j];
10 }
11 }
正如你所看到的,因为没有两个产品的计算结果向量的相同元素[],并且由于计算i = 0 ... m的元素a [i]的值的顺序不会影响答案的正确性,所以这些计算可以独立于i的索引值执行。
然后像前一个循环是完全可并行化的。在这样的循环中使用OpenMP进行并行实现会相对简单。
相关问题
- 1. Gustafson定律与Amdahl定律
- 2. Amdahl定律的例子
- 3. SSE矩阵,矩阵乘法
- 4. 矩阵乘法
- 5. 矩阵乘法
- 6. 矩阵乘法
- 7. 矩阵乘法
- 8. C#中的Amdahl定律示例#
- 9. Amdahl定律“C++并发在行动”
- 10. 矩阵乘矢量乘法
- 11. C++矩阵乘法
- 12. 矩阵乘法。 Python
- 13. Accord.NET矩阵乘法
- 14. 乘法矩阵Matlab
- 15. Hadoop矩阵乘法
- 16. 矩阵的乘法
- 17. hlsl矩阵乘法
- 18. 的矩阵乘法
- 19. 矩阵乘法CUDA
- 20. 2x2矩阵乘法
- 21. 乘法矩阵蟒
- 22. 块矩阵乘法
- 23. 矩阵乘法alglib
- 24. 矩阵乘法MPI
- 25. Cuda矩阵乘法
- 26. CUBLAS矩阵乘法
- 27. VHDL矩阵乘法
- 28. 矩阵序列的矩阵乘法
- 29. 矩阵的矩阵列乘法
- 30. 稀疏矩阵 - 矩阵乘法