Я новичок в OpenCL. Как я могу задержать сценарий OpenCL Kernel без создания циклов? У меня есть код, который в некоторых случаях необходимо подождать некоторое время, а затем возобновить выполнение как такOpenCL Ядро ожидания/задержки
__kernel void test(uint4 value,uint4 delay)
{
uint id = get_global_id(0);
//some code
for(uint i=0;i<delay;i++) { //... do nothing like this? }
}
Но я полагаю, что цикл будет делать графический процессор занят, как ад, там что-то я могу использовать как сон, возможно, в ядро CL? Я посмотрел в документации sdk, но пока ничего не нашел. Помоги пожалуйста.
Нужно ли ожидать определенного количества времени или использовать прерывание типа 'clWaitForEvents'? – cegfault
Да, мне нужно подождать определенное количество времени, я уже посмотрел на 'clWaitForEvents' – Vanya
Я не слишком хорошо знаком с opencl, но не' sleep' работает? – cegfault