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/

Attachment: 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

Reply via email to