Loading…
Attending this event?
Thursday September 19, 2024 15:15 - 16:15 MDT
C++ 20 developers do not need to sacrifice high-level expressiveness and code cleanliness for high performance when writing cross-platform code. Concepts and constraints combined with build tool configuration and judicious use of the preprocessor can enable novel techniques resulting in significant improvements to cross-platform architectures. The techniques are the result of experiences in the video games and embedded software fields; however, the techniques are applicable to high performance scientific code and general applications supporting multiple platforms

This presentation discusses how various features of C++ may be used to develop high-level and high-performance code in cross-platform projects. It focuses on the design and implementation of a small family of quaternion classes. Quaternions are a small numeric type used extensively in 3D graphics and thus ideal as the focus. The discussion begins with an unoptimized implementation that will compile on all platforms. Optimized versions for multiple architectures (SSE/AVX, Neon, and WebAssembly SIMD) will be added. These optimized types are added without changing a single line of existing code. Additionally, supporting multiple revisions of a spec will be illustrated. Implementing new revisions does not result in changing any pre-existing files, and new revisions may leverage older revisions and need not ever reimplement pre-existing functions. This reduces code repetition and all its attendant liabilities.
Speakers
avatar for Noah Stein

Noah Stein

Principal, Independent
Noah Stein began his commercial software development career while in high school. From 1993 through 2002 he worked as a lead programmer and technical director at companies in the video game industry. Since 2002, Noah has been an independent contractor working in both the video games... Read More →
Thursday September 19, 2024 15:15 - 16:15 MDT
Maple 3/4/5

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Share Modal

Share this link via

Or copy link