0
我知道這一定是相當基本的用例,但我不知道要搜索什麼關鍵字。如何將全部和全部比較分成相同大小的塊進行並行化?
給定一個嵌套的for循環是這樣的:
for (i = 0; i < size; i++) {
for (j = i+1; j < size; j++) {
doComparision(i, j);
}
}
我知道我可以計算,其中n =大小*(大小-1)/ 2。
的問題是比較的總數我想要並行化這個循環。每個線程只應該執行外部for-loop的一定範圍:
for (i = beginOffset; i <= endOffset; i++) {
for (j = i+1; j < size; j++) {
doComparision(i, j);
}
}
如何計算這些循環中的比較次數?
最後我想確保每個線程的工作量大致相同。
哇。魔法! ;-) – 2012-03-14 23:09:30