Можно ли использовать пользовательские типы в ядре OpenCL, например, в типах gmp (mpz_t, mpq_t,...)?
Чтобы иметь что-то вроде этого (это ядро не построено только из-за #include <gmp.h>):
#include <gmp.h>
__kernel square(
__global mpz_t* input,
__global mpz_t number,
__global int* output,
const unsigned int count)
{
int i = get_global_id(0);
if(i < count)
output[i] = mpz_divisible_p(number,input[i]);
}
Возможно, добавив разные аргументы в четвертый параметр (параметры) clBuildProgram?
Или у OpenCL уже есть типы, которые могут обрабатывать большие числа?