CUDA(12)之乙個的並行優化定理

2021-07-22 20:44:01 字數 1110 閱讀 9367

摘要

本文主要講述乙個並行優化理論,發展自 amdahld 定理和 gustafson 定理。

1. amdahld定理(相對於序列程式而言,並行程式的加速率)

程式中可並行**的比例為p, 並行處理器的數目為n,

序列程式耗時為:

並行程式耗時為:

所以,程式並行化後的加速率=序列程式耗時/並行程式耗時,即產生amdahld定理如下:

2. gustafson 定理(相對於序列程式而言,並行程式的工作效率)

gustafson 定理是amdahld定理的進一步的發展而來,這裡我們將amdahld定理定義為s,即:

並行程式工作量為:

序列程式工作量為:

所以,程式並行化後的工作效率=序列程式工作量/並行程式工作量,即產生gustafson定理如下:

3. 乙個新定理

不論是amdahld 定理還是 gustafson 定理,相比於gpu並行方案而言,這兩個定理可能更加適合多核cpu的並行化原則,因為cpu和gpu的執行緒執行速度差別太大,這個問題是不可能忽略的。所以,我在這裡有必要重新豐富一下這兩個定理。在gpu結合cpu加速領域上,下面發展出我的兩個新定理。

不妨令cpu執行緒執行速度為

序列程式耗時為:

並行程式耗時為:

所以,程式並行化後的加速率=序列程式耗時/並行程式耗時,即產生定理如下:

CUDA第乙個程式優化(若干個執行緒)

include include include define total num 50000 define thread num 500 bool cuda initial void else printf there is d device beyond 1.0 n device count fo...

乙個sql的優化

原文 乙個sql的優化 目的 為了查詢某天某個伺服器上的登入id的個數 剛開始編寫的sql select count a.mac logusers from log maclogin all a where ismoni 1 and logintime 2015 02 01 23 59 59 and...

關於乙個加法優化的乙個地方

include include include base.h int main int argc,char argv,char envp 下面是彙編 01291000 55 push ebp 01291001 8bec mov ebp,esp 01291003 56 push esi 0129100...