我使用内存映射I / O(Linux上的employees = [
Emplyee(...),
Emplyee(...),
Emplyee(...),
...
]
employees_with_high_salary = [e for e in employees if e.salary > 400]
调用)访问磁盘上的文件。
是否可以使用mmap
将此虚拟内存缓冲区传递给OpenCL(仅供读取)。这会导致性能提升吗?
我想避免将整个文件复制到主机内存中,而是让OpenCL内核控制操作系统加载/缓冲文件的哪些部分。
答案 0 :(得分:0)
我认为这应该有效 - 你最终不应该有错误,崩溃或不正确的结果;它是否带来性能提升可能取决于硬件,驱动程序/ CL实现和访问模式。如果在许多情况下没有太大的影响,我不会感到惊讶。我可以想象GPU驱动程序预先发布并连接所有页面,以便将其映射到GPU的地址空间。