Simon Kornblith
2015-07-30 17:38:17 UTC
Yichao, Oscar, and I were unhappy with the current state of vectorization
of operations involving complex numbers and other immutables so I decided
to do something about it. I'm pleased to announce StructsOfArrays.jl
<https://github.com/simonster/StructsOfArrays.jl>, which performs the Array
of Structures -> Structure of Arrays memory layout optimization without
requiring code changes. This alternative memory layout permits SIMD
optimizations for immutables for which such optimizations would not
otherwise be possible or profitable, either because of limitations of the
Julia codegen and LLVM optimizer or because of the type of the operations
performed. The benchmark in the README shows that StructsOfArrays can give
non-negligible speedups for simple operations involving arrays of complex
numbers.
Simon
of operations involving complex numbers and other immutables so I decided
to do something about it. I'm pleased to announce StructsOfArrays.jl
<https://github.com/simonster/StructsOfArrays.jl>, which performs the Array
of Structures -> Structure of Arrays memory layout optimization without
requiring code changes. This alternative memory layout permits SIMD
optimizations for immutables for which such optimizations would not
otherwise be possible or profitable, either because of limitations of the
Julia codegen and LLVM optimizer or because of the type of the operations
performed. The benchmark in the README shows that StructsOfArrays can give
non-negligible speedups for simple operations involving arrays of complex
numbers.
Simon