OpenACC讀書筆記(一)

2021-07-26 07:45:52 字數 1261 閱讀 7753

#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...