hi!

sounds exciting :)

1. maybe near the sse detection in src/common/darktable.c?

2. no preference from my side. i would probably put it into process() with
a branch, maybe some modules can make use of the same code in between
SIMDfied blocks.

3. it's done with dt_alloc_align, most places use 64 byte alignment, some
only 16. i think the pixel buffers in the pipeline are 64, so you should be
fine (but might be safe to put an assertion, just in case).

cheers,
 jo

On Fri, Jun 26, 2015 at 3:05 AM, Bruce Guenter <[email protected]> wrote:

> 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 <[email protected]>                http://untroubled.org/
>
>
> ------------------------------------------------------------------------------
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/darktable-devel
>
>
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to