В общем с 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;
}
}