Lessons Learned and Advanced Practices

VSH18 The Vector in Your CPU: Exploiting SIMD for Superscalar Performance


3:00pm - 4:15pm

Level: Intermediate to Advanced

Sasha Goldshtein


SELA Group

For more than ten years, modern processors have been equipped with vector registers and instructions to make certain algorithms four to eight times faster. In the past, it took intrinsic or intimate knowledge of assembly language to use them. In this session, you'll learn how to take advantage of vector instructions in .NET applications using the newly released Microsoft.Bcl.Simd library and the upcoming RyuJIT compiler. You'll explore a variety of algorithms that can benefit from vectorization.

You will learn:

  • About vector capabilities in modern processors
  • How to speed up simple algorithms by using the Microsoft.Bcl.Simd library
  • How to find ways to vectorize algorithms that have inter-iteration dependencies