В настоящее время я работаю над ядром, которое можно оптимизировать с помощью типов float16. Однако я не нашел никакой документации о преобразовании float16 в float *, потому что моя выходная переменная - это float *. Вот пример кода
_kernel void IncrementMatrix( __global float* Source, __global float* Target, __global float* out )
{
const int globalID = get_global_id(0);
float16 S = vload16( globalID , Source );
float16 T = vload16( globalID , Target );
S = S + T;
out[globalID*16] = (float*)S; // this is not working
}
Я уже пробовал это out = (float *) S; , но это дает недопустимую ошибку преобразования типа.