Name
Student Technical Talks
Session Type
Student Technical Talks
Date & Time
Thursday, October 24, 2024, 11:00 AM - 12:00 PM
Talk Order

1) Half-precision in LLVM libc - Nicolas Celik

2) DynamicAPInt: Infinite-Precision Arithmetic for LLVM - Arjun Pitchanathan

3) FPOpt: Balancing Cost and Accuracy of Floating-Point Computations in LLVM IR - Siyuan Brant Qian

Abstract/s

1) Half-precision in LLVM libc - Nicolas Celik
C23 defines new floating-point types, such as _Float16, which corresponds to the IEEE 754 standard's binary16 interchange format, also known as half-precision floating-point or FP16. C23 also defines variants of the C standard library's math functions for these new types. This talk will present the implementation of _Float16 math functions in LLVM libc, their performance, and the challenges encountered while implementing them.

2) DynamicAPInt: Infinite-Precision Arithmetic for LLVM - Arjun Pitchanathan
We announce a new class, DynamicAPInt, that can perform infinite-precision integer arithmetic. Unlike APInt, the user does not have to specify a particular maximum size. We also provide a more friendly user interface with overloaded operators. Finally, the class implements a small-value optimization making it significantly faster than APInt when operating on small values. In particular, we see a 2.8x speedup on an addition microbenchmark where the values always stay small. We describe the performance optimizations that we applied to achieve this level of performance.

3) FPOpt: Balancing Cost and Accuracy of Floating-Point Computations in LLVM IR - Siyuan Brant Qian
This talk introduces FPOpt, an optimization pass integrated into the LLVM-based Enzyme automatic differentiation framework, which automatically discovers improvements for floating-point programs using Herbie and tries to maximize overall accuracy of programs subject to a customizable computation cost budget. To make optimization decisions that respect realistic program behaviors, FPOpt leverages numeric profile data generated by a specialized logging functionality in Enzyme.

Location Name
Hall of Cities