Back to Browse

CppCon 2016: Nicolas Guillemot “SPMD Programming Using C++ and ISPC"

7.8K views
Oct 2, 2016
58:11

http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016 — Love writing blazing fast SIMD code on CPU? Tired of dealing with ugly intrinsics and clumsy SIMD float4 classes? Has your compiler's auto-vectorization ever stopped working, causing unpredictable performance regressions? Wish you could write efficient SIMD code without locking yourself into a specific instruction set, while still taking advantage of a range of hardware from old desktops to new Intel Xeon Phi rigs? The solution is here, and it's called SPMD! SPMD is an elegant parallel programming technique for writing SIMD code, which automates the tedious constructions normally required when using intrinsics or assembly, breaks free of ties to specific instruction sets, and still allows you to work at the granularity of SIMD vectors when necessary. This talk will first review the underlying theory of SPMD, then introduce the ISPC programming language as an example of what SPMD code looks like. We'll also look at how SPMD is used on GPUs like AMD's GCN. Finally, we will see how SPMD code can be written in unextended C++. — Nicolas Guillemot MSc Student, University of Victoria Hi, nice to meet you! My name is Nicolas, and my main interests are game development, real-time rendering, graphics hardware and graphics APIs. I tackle problems at the intersection of designing efficient computer algorithms and leveraging the strengths of hardware. My favorite thing about C++ is that it lets me write detailed systems-level code and high-level GUI code together in a single robust language. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf

Download

0 formats

No download links available.

CppCon 2016: Nicolas Guillemot “SPMD Programming Using C++ and ISPC" | NatokHD