根據NVIDIA website:NVCC 5.0和OpenACC的
「的CUDA工具包補充和全力支持與 OpenACC的指令程序。」
這是否意味着OpenACC程序(pargma和API)可以編譯爲nvcc
編譯器?或者它意味着只支持運行時例程調用?
不幸的是,這幾天我無法安裝CUDA Toolkit 5.0來獲得我的答案。謝謝!
根據NVIDIA website:NVCC 5.0和OpenACC的
「的CUDA工具包補充和全力支持與 OpenACC的指令程序。」
這是否意味着OpenACC程序(pargma和API)可以編譯爲nvcc
編譯器?或者它意味着只支持運行時例程調用?
不幸的是,這幾天我無法安裝CUDA Toolkit 5.0來獲得我的答案。謝謝!
要使用OpenACC指令來編譯程序,您需要使用OpenACC compiler--目前這意味着Cray,PGI或CAPS。
OpenACC編譯器使用CUDA工具包的一部分,具體取決於它們可以使用各種組件實現的各種組件,例如ptxas
將PTX組裝到機器代碼中。該工具包還包括可與OpenACC互操作的庫,如cuBLAS/cuFFT/cuSPARSE等,以便您可以在同一應用程序中同時使用庫和OpenACC - 您還可以與CUDA C/C++進行互操作。
nvcc
本身不是OpenACC編譯器。
請注意,如果您有興趣使用OpenACC,那麼您可以在這裏獲得30天的試用版(上次我試過它是15天,可連續使用一次):https://www.pgroup.com/account /register.php?openacc_user –
另請注意,NVIDIA Visual Profiler將與PGI OpenACC編譯器生成的代碼一起使用。我沒有親自嘗試過使用nvvp的Cray或CAPS編譯器,所以無法評論這些。 –
存在accULL,OpenACC的研究實現(僅限C,OpenACC 1.0)。
目前,您需要CAPS,PGI或Cray的[openACC兼容編譯器](https://developer.nvidia.com/openacc)。 CUDA工具包本身不允許您編譯指令。 –
謝謝羅伯特! nvidia頁面中的術語'support'真的讓人困惑! – ahmad