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. 稀疏矩陣 - 矩陣乘法