AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.79k stars 455 forks source link

Add support for ARM Neon intrinsics #1753

Closed doug-walker closed 1 year ago

doug-walker commented 1 year ago

Currently, several of the OCIO ops have a code path that uses Intel SSE intrinsics (SIMD instructions) for faster performance. However, on Mac M1/ARM chips, these don't work and so the slower straight C++ path is used. This task is to take advantage of the equivalent intrinsics available on ARM processors, known as Neon.

There are a number of open source projects available to help convert SSE instructions into Neon instructions. The one we propose using is: https://github.com/DLTcollab/sse2neon

Note that there are some precision differences and some differences in NaN handling that will need to be investigated.

doug-walker commented 1 year ago

The work for this was done in PR #1775.