我一直在寻找与malloc()类似的东西,它将分配内存。我只想保留内存。
我想填满X GB / MB。
到目前为止,我已经设法查询了可用的本地内存。
我该如何填充其中的80%?
当前,下面的代码正在系统内存(RAM)上分配空间
import pyopencl as cl # OpenCL - GPU computing interface
from pyopencl import device_info
import numpy as np
import time
import sys
# Hardware devices
platforms = cl.get_platforms()
# getting GPUs
my_gpu_devices = [platforms[0].get_devices(device_type=cl.device_type.GPU)[0]]
print(my_gpu_devices)
# Context set to GPU 0
ctx = cl.Context(devices = my_gpu_devices)
# Querying Local memory size
local_memory_size = my_gpu_devices[0].get_info(device_info.LOCAL_MEM_SIZE)
print("VRam size : ", local_memory_size)
# time.sleep(200)
flood_data = np.random.rand(256 ** 2).astype(np.int32)
print(sys.getsizeof(flood_data))
buf = cl.Buffer(ctx,
cl.mem_flags.READ_WRITE,
size = (local_memory_size - 1000),
hostbuf = None
)
queue = cl.CommandQueue(ctx)
for _ in range (0, 200000):
cl.enqueue_fill_buffer(
queue = queue,
mem = buf,
pattern = np.int32(0),
offset = 0,
size = int(sys.getsizeof(np.int32) * 128)
)