- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在主机上有一个向量,我想将它减半并发送到设备。做一个基准测试表明 CL_MEM_ALLOC_HOST_PTR
比 CL_MEM_USE_HOST_PTR
快并且比 CL_MEM_COPY_HOST_PTR
快得多.此外,设备上的内存分析未显示设备上创建的缓冲区大小有任何差异。这与 Khronos- clCreateBuffer 上提到的标志的文档不同。 .有谁知道发生了什么?
最佳答案
Pompei 2 的答案是不正确的。该规范不保证内存的分配位置,而只保证如何分配。 CL_MEM_ALLOC_HOST_PTR 使 clCreateBuffer 为您分配主机端内存。然后,您可以使用 clEnqueueMapBuffer 将其映射到主机指针。 CL_MEM_USE_HOST_PTR 将导致运行时将您提供的数据舀入 OpenCL 缓冲区。
固定内存是通过使用 CL_MEM_ALLOC_HOST_PTR 实现的:运行时能够尽可能分配内存。
所有这些性能都取决于实现。仔细阅读第 3.1.1 节会发现,在其中一个调用(没有 CL_MEM 标志)中,NVIDIA 能够预分配设备端缓冲区,而其他调用仅将固定数据映射到主机指针,准备写入设备.
关于opencl - OpenCL 中 CL_MEM_USE_HOST_PTR 和 CL_MEM_COPY_HOST_PTR 的基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565253/
在《 OpenCl By Action》一书中,我读到了以下内容: CL_MEM_USE_HOST_PTR:内存对象将访问主机指定的内存区域 指针。 CL_MEM_COPY_HOST_PTR:内存对象
我在主机上有一个向量,我想将它减半并发送到设备。做一个基准测试表明 CL_MEM_ALLOC_HOST_PTR比 CL_MEM_USE_HOST_PTR 快并且比 CL_MEM_COPY_HOST_P
我是一名优秀的程序员,十分优秀!