Comment by gmueckl

3 hours ago

This is still rather basic stuff to be absolutely honest with you.

The tests and notebooks maybe: not the unrolling and re-architecting to use masking SIMD-ification. I used to do SIMD stuff a lot over the last 17 years, and it would have taken me probably a day to do that (convert 7 algorithms, all with support for various wrapping/mirroring/clamping extent-handling, so around 800 raw source file lines of templated C++) to use SIMD - and well.

Then it probably would have taken me at least half a day to think about what tests to write and to make them.

It did it in around 5 minutes. I had to check it, and it wasn't perfect, but it compiled, ran, and was very close.

  • Sorry, but this is just not a complex or hard task in image processing. Image resizing is a staple algorithm as common as bread and butter.

    • You could convert ~800 lines of scalar float processing templated C++ code that used mixins for wrapping logic and float/double to well-optimised SIMD code for two different ISAs (without using wrapper class helpers, it wrote the full intrinsics) in under 5 minutes and write tests for them at the same time?

      It's the time compression I'm impressed with.

      1 reply →