Using C++ templates for correct and efficient hardware access

WEPD046
24 Sept 2025, 16:30
1h 30m
Palmer House Hilton Chicago

Palmer House Hilton Chicago

17 East Monroe Street Chicago, IL 60603, United States of America
Poster Presentation MC10: Software Architecture & Technology Evolution WEPD Posters

Speaker

Richard Neswold (Fermi National Accelerator Laboratory)

Description

Programming language compilers utilize sophisticated optimization techniques to translate high-level abstractions into performant machine code. These transformations, such as instruction scheduling and data pre-loading, are deemed correct if they preserve the program's observable behavior. However, such optimizations often fail to maintain correctness when interacting with hardware peripherals due to side effects and timing constraints. This paper presents a C++ template, meta-programming approach to generate hardware access routines that are both correct and exhibit optimal machine code generation.

Author

Richard Neswold (Fermi National Accelerator Laboratory)

Presentation materials

There are no materials yet.