Opencl 有没有办法重新分配本地内存?

Opencl 有没有办法重新分配本地内存?,opencl,Opencl,有没有办法在同一个内核中重新分配本地内存 EX) 如果我想使用不同的目的,我是否应该使用不同的索引重用arr?否,您不能在OpenCL中动态重新分配内存。 当然,由于本地内存有限,您可以根据其大小定义一个或多个\u local数组。 您还可以将以前定义的数组用于其他目的。 如果每次内核调用需要不同的数组大小,那么可以将本地数组作为内核参数传递,并决定每次调用的主机大小。它是C99,因此可以将要顺序使用的结构或数组合并。他们会分享记忆 __local float arr[size 1] /

有没有办法在同一个内核中重新分配本地内存

EX)


如果我想使用不同的目的,我是否应该使用不同的索引重用
arr

否,您不能在OpenCL中动态重新分配内存。 当然,由于本地内存有限,您可以根据其大小定义一个或多个
\u local
数组。 您还可以将以前定义的数组用于其他目的。
如果每次内核调用需要不同的数组大小,那么可以将本地数组作为内核参数传递,并决定每次调用的主机大小。

它是C99,因此可以将要顺序使用的结构或数组合并。他们会分享记忆

    __local float arr[size 1] //maximum size
    ..
     arr usage
    ..
    free arr
    __local float arr2[size 2] //smaller than size1
    arr2 usage