OpenCL未将所有数据读回缓冲区

OpenCL未将所有数据读回缓冲区,opencl,julia,julia-gpu,Opencl,Julia,Julia Gpu,因此,我在Julia中使用OpenCL API,当我运行以下代码时: using OpenCL device, context, queue = OpenCL.create_compute_context() a = rand(Float32, 125356789) abuf = OpenCL.Buffer(Float32, context, (:r, :copy), hostbuf=a) b = OpenCL.read(queue, abuf) isapprox(a, b) 现在,在读回主

因此,我在Julia中使用OpenCL API,当我运行以下代码时:

using OpenCL
device, context, queue = OpenCL.create_compute_context()

a = rand(Float32, 125356789)
abuf = OpenCL.Buffer(Float32, context, (:r, :copy), hostbuf=a)
b = OpenCL.read(queue, abuf)
isapprox(a, b)
现在,在读回主机后,大约50个坐标将被调零。有人能在他们的机器上复制这个吗?以下是我的规格:

Version: 10.14.73

Last Modified: 4/26/16, 12:39 AM

Bundle ID: com.apple.driver.AppleIntelHD4000Graphics

Loaded: Yes

Get Info String: AppleIntelHD4000Graphics 10.14.73

Obtained from: Apple

Kind: Intel

Architectures: x86_64

64-Bit (Intel): Yes

Location: /System/Library/Extensions/AppleIntelHD4000Graphics.kext

Kext Version: 10.1.4

Load Address: 18446743521850200000

Loadable: Yes

Dependencies: Satisfied

Signed by: Software Signing, Apple Code Signing Certification Authority, Apple Root CA
我的最大内存分配大小只有0.4GB,这可能是导致此问题的原因,因为
a
大于此值

然而,当内存大小小于0.4GB时,我遇到了这个问题,不幸的是,我无法一致地复制它们,它们似乎以某种奇怪的方式依赖于加载到设备内存中的其他缓冲区

有没有办法重置设备内存