OpenCL не читает все данные обратно в буфер

Поэтому я использую OpenCL API в Julia, и когда я запускаю следующий код:

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

Мой MAX_MEM_ALLOC_SIZE составляет всего 0,4 ГБ, что может быть причиной этого, так как a больше, чем это.

Однако я сталкиваюсь с этой проблемой с размерами памяти < 0,4 ГБ, к сожалению, я не могу воспроизвести их последовательно, кажется, что они каким-то странным образом зависят от других буферов, загружаемых в память устройства.

Есть ли способ сбросить память устройства?

0 ответов

Другие вопросы по тегам