Wensheng Zou <wzou(a)panyi.ai> writes:
I know that the api has_double_support(dev) will return back if dev
support double type, and with this api we can decide which data type can be used.
But I found that even if I don't use float64 or int64 for test data type, pyopencl
will generate kernel code that contains double or long type as arguments.
__kernel void plb_build_list_write(__global int *plb_mylist_list, __global int
*plb_mylist_start_index, __global double *input_list, index_type n)
And so on.
All those double or long type in the kernel code may cause building errors on the devices
don't support 64 bit.
So what should I do to avoid pyopencl generate kernel code contains double or long type,
is there any options to deal with it?
Thanks for your message! The behavior you describe definitely sounds
like a bug. If there are no 64-bit types in the input, there shouldn't
be any in the code. So could you open an issue on Github for this?
Secondly, in order to act on your bug report, we'll need some way of
reproducing your observation, i.e. some self-contained, instantly
runnable code that shows the issue you observe.