2016-12-28 2 views
1

Ich habe einen einfachen CUDA-Code, den ich in OpenACC übersetzt. Alle meine Kernel wurden wie erwartet parallelisiert und sie haben eine ähnliche Performance wie meine CUDA-Kernel. Der Speichertransfer vom Gerät zum Host zerstört jedoch meine Leistung. In meinem CUDA-Code verwende ich gepinnten Speicher und die Leistung ist viel besser. Leider weiß ich in OpenACC nicht, wie man gepinnten Speicher verwendet. Ich konnte nichts in der Dokumentation finden. Kann mir jemand ein einfaches OpenACC-Beispiel zur Verfügung stellen, das gepinnten Speicher nutzt?Fixierten Speicher in OpenACC (mit PGI-Compiler)

PS: Ich bin mit PGI 16,10-0 64-Bit-Compiler

Antwort

3

Verwenden Sie die "gepinnt" sub-Option für ein "tesla" Ziel "-ta = tesla: gesteckt". Beachten Sie, dass Sie alle verfügbaren Unteroptionen über die Flags "-help -ta" sehen können.

+0

Vielen Dank Mann! Es klappt! Du bist der beste! – AstrOne

Verwandte Themen