예전에 OSSCA에서 반영은 됐지만 마음에 걸렸던 게 있었는데 이번에 직접 구현해서 성능 올렸다. 당시에는 활동한 것들 제출까지 시간이 얼마 안 남기도 했고 이걸 계속 해야 하나에 대한 고민이 있어서 안 했는데 이번에 절반까지는 했다.
대충 설명하면 WebAssembly에서 SIMD가 어느정도 지원이 된다는 걸 알게 되어서 그걸 레포에 기여했었는데 정작 성능이 1.2배 정도 밖에 안 올랐다. 뭔가 이상해서 자세히 까보니 OpenBLAS 자체에 WASM 아키텍처가 없던 것이었다. 내가 기여하고 싶던 레포에서 SciPy는 OpenBLAS를 사용하는데 이게 RISCV 경로를 사용하고 있었다.
그래서 이번에 결국 OpenBLAS에 메인테이너(?)에게 직접 말해서 WASM 아키텍처 반영하게 됐고, 거기에 GEMM 커널 추가했다. 성능이 거의 뭐 2배~4배까지 올라가서 뿌듯하다. 이제 하나하나 더 추가를 해야 한다. 그래야 내가 했던 레포에 반영이 되지 않을까.