使用内存映射文件与OpenCL

时间:2017-11-28 15:13:26

标签: linux opencl gpu mmap virtual-memory

我使用内存映射I / O(Linux上的employees = [ Emplyee(...), Emplyee(...), Emplyee(...), ... ] employees_with_high_salary = [e for e in employees if e.salary > 400] 调用)访问磁盘上的文件。

是否可以使用mmap将此虚拟内存缓冲区传递给OpenCL(仅供读取)。这会导致性能提升吗?

我想避免将整个文件复制到主机内存中,而是让OpenCL内核控制操作系统加载/缓冲文件的哪些部分。

1 个答案:

答案 0 :(得分:0)

我认为这应该有效 - 你最终不应该有错误,崩溃或不正确的结果;它是否带来性能提升可能取决于硬件,驱动程序/ CL实现和访问模式。如果在许多情况下没有太大的影响,我不会感到惊讶。我可以想象GPU驱动程序预先发布并连接所有页面,以便将其映射到GPU的地址空间。