Ошибка при работе с Библиотекой ocl

В общем с OpenCL работал раньше, но теперь решил его использовать на rust, использую ocl. Но тут возникла проблема, программа компилируется норально, но на следующей строчке вылетает “Segmentation fault (core dumped)”:

let pro_que = ProQue::builder().device(Dev).src(include_str!("Shader.cl")).dims(2).build().expect("Can not build ProQue!");

Здесь “Dev” иеет тип “ocl::Device”, а содержимое “Shader.cl” следующее:

__kernel void Krn(__global uchar* Field, size_t Width, size_t Height)
{
    size_t _x = get_global_id(0);
    size_t _y = get_global_id(1);

    if((_x < Width) && (_y < Height))
    {
        uchar Val = 0;

        float2 z = (float2)(((float)_x/(float)Width) - 0.5f , 0.5f - ((float)_y/(float)Height))*(float2)(2.0f, 2.0f);
        float l = length(z);
        if (l > 1.0f)
        {
            Val = 0;
        }
        else
        {
            Val = (uchar)(255.0f*l);
        }

        Field[_x + _y*Width] = Val;
    }
}

Скорее всего, этот вопрос лучше задать в репозитории библиотеки. На crates.io есть ссылка на репозиторий

В общем выяснилось, что проблема в драйвере.

1 лайк