Speed up correlation computation using SIMD instructions
Speeds up the computation of correlation values in wb_command -cifti-correlation, wb_command -cifti-correlation-gradient, and wb_view's dynamic connectivity feature using SIMD-based dot product implementations. To achieve this, the two modules cpuinfo and dot, from https://github.com/kloewe/mod-cpuinfo/commit/3799c70 and https://github.com/kloewe/mod-dot/commit/3b83d6a, respectively, are used. Depending on the definition of CARET_DOTFCN, src/Common/dot_wrapper.h includes the functions from the dot module or an inline function that implements the originally used dot product computation. If the dot module is used, the function sddot() dispatches the call to sddot_avx(), sddot_sse2(), or sddot_naive(), depending on the supported instruction set extensions. These are determined at runtime using the functions from the cpuinfo module. The new functions are currently only used in the Linux version.
parent
a9a5bb87
Please register or sign in to comment