2012-11-04 39 views
6

根據NVIDIA websiteNVCC 5.0和OpenACC的

「的CUDA工具包補充和全力支持與 OpenACC的指令程序。」

這是否意味着OpenACC程序(pargma和API)可以編譯爲nvcc編譯器?或者它意味着只支持運行時例程調用?

不幸的是,這幾天我無法安裝CUDA Toolkit 5.0來獲得我的答案。謝謝!

+4

目前,您需要CAPS,PGI或Cray的[openACC兼容編譯器](https://developer.nvidia.com/openacc)。 CUDA工具包本身不允許您編譯指令。 –

+0

謝謝羅伯特! nvidia頁面中的術語'support'真的讓人困惑! – ahmad

回答

7

要使用OpenACC指令來編譯程序,您需要使用OpenACC compiler--目前這意味着Cray,PGI或CAPS。

OpenACC編譯器使用CUDA工具包的一部分,具體取決於它們可以使用各種組件實現的各種組件,例如ptxas將PTX組裝到機器代碼中。該工具包還包括可與OpenACC互操作的庫,如cuBLAS/cuFFT/cuSPARSE等,以便您可以在同一應用程序中同時使用庫和OpenACC - 您還可以與CUDA C/C++進行互操作。

nvcc本身不是OpenACC編譯器。

+0

請注意,如果您有興趣使用OpenACC,那麼您可以在這裏獲得30天的試用版(上次我試過它是15天,可連續使用一次):https://www.pgroup.com/account /register.php?openacc_user –

+0

另請注意,NVIDIA Visual Profiler將與PGI OpenACC編譯器生成的代碼一起使用。我沒有親自嘗試過使用nvvp的Cray或CAPS編譯器,所以無法評論這些。 –

0

存在accULL,OpenACC的研究實現(僅限C,OpenACC 1.0)。