固定内存OpenCL,有人成功使用过吗?

发布于 2024-09-28 11:01:08 字数 248 浏览 4 评论 0原文

我在 clCreateBuffer 调用中使用了 CL_MEM_ALLOC_HOST_PTR 标志,但计算探查器将我的所有“主机内存传输类型”显示为可分页。我在两种不同的内核设置中尝试过它,但分析器不会显示我正在使用固定内存。

当内核开始使用固定内存时,它真的是随机的吗?是不是受到什么东西的制约?我猜缓冲区的大小很重要。我尝试了一个大小为 10,000 个浮点的缓冲区,但仍然获得可分页内存。让我知道你们的想法。

I used the CL_MEM_ALLOC_HOST_PTR flag with my clCreateBuffer calls, but the Compute Profiler shows all my "host mem transfer type" as being Pageable. I tried it in two different kernel setups, but the profiler wouldn't show that I was using pinned memory.

Is it just really random when a kernel gets to use pinned memory? Is it constrained by something? I am guessing the size of the buffer matters. I tried one buffer of a size of 10,000 floats and I still got Pageable memory. Let me know what you all think.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

向日葵 2024-10-05 11:01:08

如果您查看 OpenCL 编程指南 (3.1),第 3.3.1 节中提到 OpenCL 现在可以控制是否分配固定内存对象。您只能尝试使用 CL_MEM_ALLOC_HOST_PTR 创建它们。

If you check the OpenCL programming guide (3.1) it is mentioned in section 3.3.1 that OpenCL has now control over memory objects are allocated pinned or not. You can only TRY to create them using CL_MEM_ALLOC_HOST_PTR.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文