Technical presentation - 30 minutes (including q&a)
PROPOSALS FOR LINARO CONNECT 2025 (LISBON) Topic: Presenting SIMD programming model, comparing ARM SIMD(NEON & SVEx) vs X86 SIMD(SSEx, AVXx) as one of the most important and efficient software performance optimization approaches. Title: SIMD programming model, porting from X86 to ARM 1. Introduction. Concepts and thesis Explaining the SIMD programming model, general talk and discussion about concepts and thesis. Focusing on and describing SIMD programming model techniques on both ARM & X86 platforms. Presenting and comparing all the available SIMD vectorization processor features, showing advantages and disadvantages. 2. Why do we care about SIMD programming? Presenting examples of code vectorization snippets. Talk through possible usage scenario examples in different IT industry sectors. Highlight that Performance is Key! 3. Challenges and how we integrate SIMD in workload optimizing projects? a) We will discuss the challenges and intricacies when working with NEON and SVEx on ARM system either edge computing platform or HPC computing platform, b) Further, we will discuss the limitations of SIMD programming model and what are important designing factors to take into account to make best use in our workload performance tuning project. c) Results comparison before and after applying SIMD optimization. d) Summarizing all the pros and negatives, what’s good and bad. Considering how it could be possibly improved in the near future.
I am a Performance Software Engineer. Currently, I work on performance optimization of database engine targeting AWS Graviton 3/4 servers for one of the major international client. I specialize in SIMD vectorization programming model for X86(MMX, SSEx, AVX, AVX2, AVX512) and ARM(NEON, SVE, SVE2). I also do have extensive experience in Computer Graphics Programming(OpenGL, DirectX, Vulkan) and GPGPU Programming(OpenCL, NVIDIA CUDA).