Come creare memoria __locale di dimensioni variabili in pyopencl?
Domanda
Nel mio codice cingencl che uso clSetKernelArg
Per creare "dimensione variabile" __local
Memoria per l'uso nei miei kernel, che non è disponibile in OpenCl di per sé. Vedi il mio esempio:
clSetKernelArg(clKernel, ArgCounter++, sizeof(cl_mem), (void *)&d_B);
...
clSetKernelArg(clKernel, ArgCounter++, sizeof(float)*block_size*block_size, NULL);
...
kernel="
matrixMul(__global float* C,
...
__local float* A_temp,
...
)"
{...
La mia domanda è ora: come fare lo stesso in piopencl?
Ho guardato attraverso gli esempi che derivano da Pyopencl, ma l'unica cosa che ho trovato è stato un approccio usando i modelli, che mi sembra come me come l'ho capito come un eccesso. Vedi esempio.
kernel = """
__kernel void matrixMul(__global float* C,...){
...
__local float A_temp[ %(mem_size) ];
...
}
Che cosa mi consiglia?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow