OpenACC編譯構建方法(windows)

2021-08-22 07:15:21 字數 753 閱讀 8717

由於在windows下支援openacc的編譯器pgc只有c版本。且構建工程方面缺乏工具。

目前研究出一種在windows下使用openacc構建工程的方式。即使用pgcc構建c語言的動態鏈結庫。再使用cmake呼叫c生成的動態鏈結庫,構建程式。

in pgi conmmunity edition:

1. bdynamic

pgcc -acc -ta=tesla:nordc –minfo -bdynamic -c main.c mian.h

2. mmakedll

pgcc -acc -ta=tesla:nordc -mmakedll main.obj –o main.dll -l」c:/program files/pgice/win64/18.4/lib」 -laccapi –laccg -laccn -laccg2 -lcudadevice -lpgmp -lnspgc

3.使用cmake連線

include_directories(「d:/testacc」)

link_libraries(「d:/testacc/main.lib」)

保證dll在環境變數下呼叫。

因為openacc部分**是由c語言寫的。專案中的c++**要想呼叫c語言**,c語言部分在宣告處一定要加

#ifdef __cplusplus 

#ifdef __cplusplus

extern "c"

#endif

參考:

gcc對OpenACC的支援 編譯7 3版本

gcc從5版本開始對openacc支援,如果要編譯openacc程式,針對gpu而言,需要offload編譯器和host編譯器。在構建這兩種編譯器之前,需要先編譯nvptx tools。nvptx tools是乙個工具集合,用來處理ptx 讓gpu能夠執行我們編譯的openacc程式。下面是gcc的...

VS2012編譯libzip庫(64位,Win7)

突然有一天要在 windows 下解壓 zip。找啊找啊找到了 libzip 和兩篇參考文章,折騰了一天終於搞定了。記錄下過程。非常感謝原作者的鋪墊。1.安裝 cmake 一路 next 除了下面這個地方。如圖選擇,以後用到 cmake 的時候就會方便很多吧。2.編譯 zlib libzip 依賴 ...

構建MiniGUI編譯環境

3.2 構建minigui編譯環境 3.2.1 建立基於pc linux的開發環境 主要是用於在pc linux平台上除錯minigui程式。使用的編譯除錯工具是linux系統自帶的gcc,gdb等。準備的軟體包 libminigui str 1.6.2.tar.gz minigui res str...