<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Hi,<br><br>Review period of Compute library extended till December 30.<br></div><br><br>Some notes and answers to them that were pointed out during review so far:<br><br></div>* Some of the algorithms could be tuned for a specific hardware<br></div>  - Library author is working on a auto-tuning solution and improves existing algos<br><br></div>* Why OpenCL C API used instead of C++ API?<br></div>  - C++ API had issues, C API allows a bit more control. No C++ API for OpenCL 2.0<br><br>* API is not N4105 compatible, library is not N*** compatible<br></div>  - This could be easily fixed by a library that will use Compute as a backend<br></div><br>* Some of the algorithms return futures while other work with command queues<br></div>  - This is because of the OpenCL design + async chains/futures would be probably added later<br></div><br>* Not all the types of the Khronos API are supported<br></div>  - A few types are not documented yet, there&#39;s a patch in the works which would allow the Khronos C++ types to be passed into Compute algorithms<br></div><br>* A few type related errors could be detected at compile time<br></div>  - This will be fixed, more asserts would be added to runtime only checkable places. Report issues to the tracker <a href="https://github.com/kylelutz/compute/issues">https://github.com/kylelutz/compute/issues</a><br><div><div><div><div><div><div><div><div><div><div><div><div><div><div><br>* On small data sets CPU algorithm would work faster than a GPGPU. How about implicitly dispatching algo on CPU in those cases?<br>  - The call on whether to execute the algorithm should be left up to the user. While library author agrees that this would be a useful feature, he just
don&#39;t think Compute is the right place for that logic.<br></div><div><br>* How about providing way to do chains of async operations<br></div><div>  - This is a big task that will be solved some day.<br></div><div><br>* How about providing Boost.ASIO like error handling via throw and error_code<br></div><div>  - Implementing an approach like ASIO&#39;s wouldn&#39;t be that difficult.<br>
</div><div><br><br></div><div>Thanks to all the reviewers for spending their time and providing useful comments so far!<br><br></div><div>-- <br><div class="gmail_signature">Best regards,<br>Antony Polukhin</div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>