#pragma acc loop independent
#include
#ifdef _openacc
#include
#endif
int main()
如果用gcc進行編譯
gcc test.c -o test.c
./test.exe
會出現 openacc is not support
用支援openacc的pgi編譯器進行編譯:
pgcc -acc test.c -o test.exe
./test.exe
會出現number of device :1
支援openacc的裝置為乙個
像cuda一樣先學習迴圈陣列進行
#include
#define n 256
int main()
#pragma acc kernels
for(i=0;i"a[n-1]=%d \n",a[n-1]);
return
0;}
這裡通過在迴圈前面加上#pragma acc kernels指令來將下面的迴圈改為並行處理。
通過pgcc進行編譯後執行可以得到結果;
pgcc -acc -minfo klc.c -o klc.exe
通過在 選項-minfo可以返回一些編譯資訊:
設定pgi編譯器環境的變數:export pgi_acc_notity=1
將環境變數告訴編譯器可以得到執行程式時輸出的一些cuda核心配置
./klc.exe
launch cuda kernel file=…
function =main line=12 device=0,threadid=1 num_gangs=2 num_workers=1 vector_length=128 grid=2 block=128
openacc中gangs,workers,vectors類似於cuda中的grids,blocks,threads來表示執行緒數,執行緒塊數,不同的是在cuda中這些量可以表示為三維的結構,而在openacc中表示為一維,其中gangs對應blocks,workers、vectors對應threads;
讀《openacc並行程式設計實戰》後記
讀書筆記一
一物件導向 一 類 1 屬性 為物件儲存資料 公共屬性public 不帶關鍵字 預設public 私有屬性private 受保護屬性protected 訪問類shopproduct中的title屬性 mo del news hopp rodu ct title model title 2.方法 為物...
讀書筆記 一
今年的年度目標之一是讀書50本,已完成八本 1 親密關係 親密關係有很多種,夫妻 婆媳 親子 朋友 閨蜜等等,都是親密關係的範疇,親密關係出現問題多受嬰兒時期與父母關係的影響,親密關係出現問題要懂得內省,誠實的認清自己,並看見別人真實的存在,出於愛的目的去發聲。2 正面管教的魔法 好孩子不是用嘴巴教...
讀書筆記(一)
這段 是無法編譯的,因為如果是傳值引數,那麼實參到形參會呼叫複製建構函式,如果允許值傳遞那麼,複製建構函式內部也會 呼叫複製建構函式,從而無限的遞迴呼叫導致棧溢位。這裡應該改為常量引用。const include class a int main sizeof空型別的例項時,輸出結果為1。本來siz...