How does OpenCL specification say about the length of lifetime of a variable which passed for clSetKernelArg?
For example,
{
int x;
clSetKernelArg(0, sizeof(x), &x);
}
clEnqueueNDRangeKernel(...);
The variable x is dead when kernel execution, is this fine?
I know it works on the current major implementations (e.g. CUDA, ROCm). But we need to think about the portability based on the specification because we’re using “open standard”.