【发布时间】:2015-05-16 03:49:50
【问题描述】:
这里可能是非常简单的问题,但我已经搜索了好几个小时,但没有任何可显示的内容。
我有这段代码,我想要一个 256 位 (8 uint32) bitstring_gpu 作为设备中的本地内存指针:
def Get_Bitstring_GPU_Buffer(ctx, bitstring):
bitstring_gpu = cl.Buffer(ctx, mem_flags.READ_ONLY | mem_flags.COPY_HOST_PTR, hostbuf=bitstring)
return bitstring_gpu
这稍后会在内核调用中使用:
prg.get_active_hard_locations_64bit(queue, (HARD_LOCATIONS,), None, memory_addresses_gpu.data, bitstring_gpu, distances_gpu.data, hash_table_gpu.data ).wait()
...而位串只是一个随机的 256 位位串(通过 sha256 生成,然后转换为一个 numpy 数组。
def Get_Random_Bitstring():
bitstring = address_space_through_sha256_SDM.get_bitstring(str(random.randrange(2**32-1)))
return bitstring
如何让 bitstring_buf 进入快速的本地内存?
相关但不同的问题;这里缓冲区正在内核内部创建...
【问题讨论】:
-
您提到了
bitstring_buf,但是我在您的代码中没有看到任何提及... -
位串只是一个 256 位的随机位串。我会更新问题。
标签: python-2.7 opencl pyopencl