OpenACC 中的固定内存(使用 PGI 编译器)

Pinned memory in OpenACC (using PGI compiler)

我有一个简单的 CUDA 代码,我将其翻译成 OpenACC。我所有的内核都按预期进行了并行化,它们的性能与我的 CUDA 内核相似。但是,设备到主机的内存传输会降低我的性能。在我的 CUDA 代码中,我使用固定内存,性能要好得多。不幸的是,在 OpenACC 中我不知道如何使用固定内存。我在文档中找不到任何内容。有人可以为我提供一个使用固定内存的简单 OpenACC 示例吗?

PS: 我正在使用 PGI 16.10-0 64 位编译器

对 "tesla" 目标使用 "pinned" 子选项,“-ta=tesla:pinned”。请注意,您可以通过“-help -ta”标志查看所有可用的子选项。