nstilt1 / mofo-repo

Repo for the Mofo Mojo
0 stars 0 forks source link

Parallelize the parameter biasing and envelope computations with SIMD #4

Open nstilt1 opened 6 months ago

nstilt1 commented 6 months ago

Since we are doing the exact same thing to 4 different values right now, we should be able to parallelize the computations.

I have already made a SIMD program in Rust that does this using SSE, AVX, and NEON, but it has some problems. The only time there is a performance boost is when either of the following conditions are met:

1) platform = x86_64 and -C target-cpu=native is active

I have opened a PR that contains the Rust code if it would be viable at a later date, perhaps with some extra modifications to make it accessible from the C++ code... or I could port the SIMD code to C++. Rust allows the code to be benched pretty easily though.