<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'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'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's wouldn'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>