Hi!  My name is Yao. I am a fresh student from China, majoring in Computer 
Science. I want to reach out to this sub-program: “porting SIMD-heavy code (eg. 
volk, fftw3, etc) to use the Wasm-supported set of intrinsics”.  Following is 
my background and my solution to achieve this program.

Background:  I am familiar with modern C++ and I have used AVX512 to accelerate 
the convolution algorithm(Winograd) in a competition. Besides, currently, I am 
working to improve a wasm runtime(called WasmEdge 
<https://github.com/WasmEdge/WasmEdge>  previous SSVM)  performance in LFX 
mentorship LFX Workspace: Improving the performance of running miniruby · Issue 
#1292<https://github.com/WasmEdge/WasmEdge/issues/1292>.


Solution: Since not all simd instructions are 
supported<https://emscripten.org/docs/porting/simd.html> well in Wasm, If the 
emscripten is done well, we can port it with an extra compile flag. On the 
other side,  I think we should reimplement related code with official wasm-simd 
header if the original function is not supported and really necessary (like 
many portable functions in volk ).


Additionally, I found the GSoCIdeas (section) 
page<https://wiki.gnuradio.org/index.php?title=GSoCIdeas#GNU_Radio_goes_Browser:_Web_Assembly_(WASM)_port>
 has a typo in the sentence:

  [ porting SIMD-heavy code (eg. volk, fftw3, etc) to use the Wasm-suppprted 
set of intrinsics. ]

I believe the Wasm-suppprted should be Wasm-supported.


That’s my thought, thank you for reading this!

Reply via email to