Hi. I just bought a new laptop that has no GPU, and so no OpenCL support. It does however have a newer CPU with AVX support which could potentially double the performance of some of the algorithms which now use SSE. I tried using Intel's OpenCL-on-CPU package, which uses AVX on the CPU, but it actually ran slower than the existing code for the plugins I tested.
So, I would like to start working on adding AVX support, in parallel with the existing SSE code, but I have some questions. 1. Multiple places are likely to need to know if the executing CPU has AVX support. Where should I put the AVX detection code? 2. The same code base will need to work on both systems with and without AVX support. How should I best do this? One option is to add a new process_avx function to IOPs similar to the process_cl one for systems that support it. Another is to switch between within process itself. Any preferences? 3. Is image/array allocation already set up to align to 32-byte boundaries, or only to 16-bytes for SSE? Are there any other issues I should be aware of? Thanks. -- Bruce Guenter <br...@untroubled.org> http://untroubled.org/
signature.asc
Description: Digital signature
------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________ darktable-devel mailing list darktable-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/darktable-devel