Back To Schedule

CANCELLED – Towards Low-Level Abstractions for Modern (SIMD-Capable) Machines

21:00 - 22:00 Friday 13th March 2026 UTC
Intermediate
Advanced
Asynchronous

Advancements in computing hardware over the past handful of decades have given us broader instruction sets to make use of, and more nuanced performance characteristics to consider when writing performant code. Yet, the foundational abstractions which mainstream programming languages offer have broadly not advanced to reflect the way that these factors change what performant code looks like. The under-abstracted SIMD capabilities of modern machines are a notable example due to their widespread availability, the large amount of such instructions modern machines offer, and small amount of attention mainstream languages pay to them.

This talk seeks to advocate for a greater exploration of how systems programming languages can facilitate the use of modern computing hardware and the writing of performant code, based on hardware details. The focus is primarily on showing that by surveying the instructions offered by modern computing machinery, we can create new facilities that fill the role of fundamental algorithmic primitives. The goal is to demonstrate that by creating abstractions around instructions which are otherwise inconvenient to utilize, adjacent benefits arise, including helping with unpredictable branches, encouraging correctness, and making it easier for a compiler to generate SIMD code. Beyond that, there is an aim to touch upon other considerations relevant to abstracting over SIMD.

Hugo Contreras

I started dabbling with C++ roughly 10 years ago as a means to explore a broader interest in computer graphics. Although at first I only wrote code in service to that interest, I found myself enjoying the problem-solving aspect enough that I went on to earn my undergraduate degree in computer science.

Through attempts at optimizing various small utility functions, I came to develop an interest in how leveraging SIMD could aid performance, with the interest broadening to include other hardware details over time. In more recent years, I've developed a curiosity around the ways programming languages could be designed to abstract over more low-level details than they currently do and how they may facilitate the programming practices that stem therefrom.

VolumetricCondensed