https://github.com/dxdxdt/gists/blob/master/writeups/libdivide/README.md
I used scalar div on a large array of integers in a loop to see if I can optimise an algorithm in an image processing pipeline I implemented years back. It worked wonders with x86, but not so much with ARM. See the link for more.
This might seems like a lost art in the age of AI, but hardware accelerators are still vanity in the embedded world.
Obviously, using the SIMD versions will be probably better but I was reluctant to do so because the current SIMD variants are not designed to be portable.
I'm wondering if there's something wrong with my code or if it just means that ARM has still a lot more to go to compete with x86 in HPC.
PS: Just want to say I read your write up. Apple's M1 is indeed quite impressive.
https://github.com/dxdxdt/gists/blob/master/writeups/libdivide/README.md
I used scalar div on a large array of integers in a loop to see if I can optimise an algorithm in an image processing pipeline I implemented years back. It worked wonders with x86, but not so much with ARM. See the link for more.
This might seems like a lost art in the age of AI, but hardware accelerators are still vanity in the embedded world.
Obviously, using the SIMD versions will be probably better but I was reluctant to do so because the current SIMD variants are not designed to be portable.
I'm wondering if there's something wrong with my code or if it just means that ARM has still a lot more to go to compete with x86 in HPC.
PS: Just want to say I read your write up. Apple's M1 is indeed quite impressive.