Czy można używać niestandardowych typów w jądrze OpenCL, takich jak typy GMp (mpz_t, mpq_t, ...)?Niestandardowe typy w jądrze OpenCL
mieć coś takiego (to jądro nie tylko ze względu na budowę #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]); }
Może dodając różne argumenty do czwartego parametru (opcje) o clBuildProgram
?
Czy OpenCL posiada już typy, które mogą obsłużyć numery o dużych numerach?
Aby zapewnić równie wielkości rodzajów, że to dobry pomysł, aby użyć cl_ * typy w kodzie hosta (cl_int, cl_long, cl_float2, etc.). – dietr
@dietr Pomaga również w poprawie kodu, jak w "ta zmienna ma być przekazana do jądra" – Thomas