gpt4 book ai didi

python - 参数列表的长度 (3) 和 CL 生成的参数数量 (9) 不一致

转载 作者:行者123 更新时间:2023-11-30 14:59:53 25 4
gpt4 key购买 nike

xx_np = np.random.rand(16500).astype(np.float32)
u_np = np.random.rand(16500).astype(np.float32)
vector_np = np.random.rand(16500).astype(np.float32)
temp_np = np.random.rand(16500).astype(np.float32)
ss_np = np.random.rand(16500).astype(np.float32)
ctx= cl.Context([device]) #context
queue = cl.CommandQueue(ctx) #commandqueue
mf = cl.mem_flags #memoryflags
xx_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=xx_np)
u_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=u_np)
vector_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=vector_np)
temp_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=temp_np)
ss_g = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=ss_np)

q00=q0
prg = cl.Program(ctx, """
__kernel void dota( __global float *xx, __global float *u, __global float *vector, __global float *temp,__global float *ss, __global float *res, float q00, float s,float i)
{
int index = get_global_id(0);
int qindex= get_global_id(0);
res[index] = xx[index]*u[index-1];
res[index] = res[index]*u[index-1];
xx[index]= xx[index]-res[index];
float a= pow(pow(xx[index],2)+pow(xx[index+1],2),0.5);
float b= pow(pow(vector[index],2)+pow(vector[index+1],2),0.5);
if(b==0)
{ i=vector[qindex]+q00;
b=pow(pow(i,2)+pow(i,2),0.5);
}
s=100*(a/b);
ss[index]=s;
temp[index]=ss[index];
}
""").build()
res_g = cl.Buffer(ctx, mf.WRITE_ONLY, temp_np.nbytes)
prg.dota(queue, temp_np.shape, None, temp_g, xx_g,res_g)
res_np = np.empty_like(temp_np)
cl.enqueue_copy(queue, res_np, res_g)
print res_np

我无法正确设置参数。因为我是内核代码的新手。我自己无法让它工作。“参数列表的长度 (3) 和 CL 生成的参数数量 (9) 不一致”。这是我执行代码时收到的错误消息。

最佳答案

尽管我从未在 Python 中使用过 OpenCL,但我可以告诉你在调用 dota 时没有提供足够的参数...

prg.dota(队列, temp_np.shape, None, temp_g, xx_g,res_g)

  1. 临时_g
  2. xx_g
  3. res_g

虽然dota有这么多参数。

关于python - 参数列表的长度 (3) 和 CL 生成的参数数量 (9) 不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com