The OpenCL backend test for Min1D0 to Min4D0 and Max1D0 to Max4D0 in sort_by_key.cpp fails for half (fp16) data type due to incorrect results from a call sort0ByKey operation done in opencl/sort_index.cpp . The library used for this operation is boost compute which does not officially support fp16 operations (see issue)
Description
- Built Arrayfire commit eaa49ca
- Which backend is experiencing this issue? OpenCL
- Do you have a workaround? Forcing internatlly cast to float before executing this operation
- Can the bug be reproduced reliably on your system? Yes
Reproducible Code and/or Steps
Run test_topk_opencl. Reproducible with CPU, Nvidia, and Intel GPUs
The OpenCL backend test for Min1D0 to Min4D0 and Max1D0 to Max4D0 in sort_by_key.cpp fails for half (fp16) data type due to incorrect results from a call sort0ByKey operation done in opencl/sort_index.cpp . The library used for this operation is boost compute which does not officially support fp16 operations (see issue)
Description
Reproducible Code and/or Steps
Run test_topk_opencl. Reproducible with CPU, Nvidia, and Intel GPUs