2012-11-04 15 views
6

Według NVIDIA website:nvcc 5,0 i OpenACC

"CUDA Toolkit uzupełnia i pełni obsługuje programowanie z dyrektyw OpenACC".

Czy oznacza to, że programy OpenACC (pargma i API) mogą być kompilowane z nvcc kompilatora? Czy oznacza to, że obsługiwane są tylko wywołania procedur runtime?

Niestety, nie mogę zainstalować CUDA Toolkit 5.0, aby uzyskać odpowiedź. Dzięki!

+4

W chwili obecnej potrzebny jest kompilator zgodny z [openACC] (https://developer.nvidia.com/openacc) z CAPS, PGI lub Cray. Zestaw narzędzi CUDA sam w sobie nie pozwala na kompilowanie dyrektyw. –

+0

Dzięki Robert! Termin 'support' na stronie nvidia jest naprawdę mylący! – ahmad

Odpowiedz

7

Aby skompilować program za pomocą dyrektyw OpenACC, należy użyć wartości OpenACC compiler - obecnie oznacza to Cray, PGI lub CAPS.

Części zestawu narzędzi CUDA są używane przez kompilatory OpenACC, w zależności od implementacji mogą wykorzystywać różne komponenty, takie jak ptxas do łączenia PTX z kodem maszyny. Zestaw narzędzi zawiera również biblioteki takie jak cuBLAS/cuFFT/cuSPARSE itp., Które mogą współpracować z OpenACC, dzięki czemu można korzystać z obu bibliotek i OpenACC w tej samej aplikacji - można również współpracować z CUDA C/C++.

nvcc sama nie jest kompilatorem OpenACC.

+0

Pamiętaj, że jeśli chcesz grać z OpenACC, możesz uzyskać 30-dniowy okres próbny (ostatni raz wypróbowałem, że był to 15-dniowy czas odnowienia) kompilatora PGI OpenACC tutaj: https://www.pgroup.com/account /register.php?openacc_user –

+0

Należy również pamiętać, że program NVIDIA Visual Profiler będzie działał z wygenerowanym kodem generatora PGI OpenACC. Nie osobiście wypróbowałem kompilatory Cray lub CAPS z nvvp, więc nie mogę o nich komentować. –

0

Istnieje accULL, Implementacja badań OpenACC (tylko C, OpenACC 1.0).