Performance of SSE and AVX Instruction Sets
Hwancheol Jeong, Sunghoon Kim, Weonjong Lee, Seok-Ho Myung

TL;DR
This paper discusses the performance benefits of SSE and AVX SIMD instruction sets in CPUs, emphasizing manual optimization techniques for linear algebra operations crucial in scientific computations.
Contribution
It highlights the advantages of manual SIMD programming over compiler optimization for linear algebra tasks in scientific applications.
Findings
Manual SIMD programming yields better performance than compiler auto-optimization.
Optimizations like data packing and reuse significantly improve computation speed.
Applicable to linear algebra operations in scientific computing, such as lattice gauge theory.
Abstract
SSE (streaming SIMD extensions) and AVX (advanced vector extensions) are SIMD (single instruction multiple data streams) instruction sets supported by recent CPUs manufactured in Intel and AMD. This SIMD programming allows parallel processing by multiple cores in a single CPU. Basic arithmetic and data transfer operations such as sum, multiplication and square root can be processed simultaneously. Although popular compilers such as GNU compilers and Intel compilers provide automatic SIMD optimization options, one can obtain better performance by a manual SIMD programming with proper optimization: data packing, data reuse and asynchronous data transfer. In particular, linear algebraic operations of vectors and matrices can be easily optimized by the SIMD programming. Typical calculations in lattice gauge theory are composed of linear algebraic operations of gauge link matrices and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems
