Hal Finkel graduated from Yale University in 2011 with a Ph.D. in theoretical physics focusing on numerical simulation of early-universe cosmology. He’s now the Lead for Compiler Technology and Programming Languages at the ALCF. Hal has contributed to the LLVM compiler infrastructure project for many years and is currently the code owner of the PowerPC backend and the pointer-aliasing-analysis subsystem, among others. As part of DOE's Exascale Computing Project (ECP), Hal is a PathForward technical lead, Co-PI for the PROTEAS-TUNE, Flang, Kokkos, and Proxy Apps projects, and a member of several other ECP-funded projects. Hal represents Argonne on the C++ Standards Committee and serves as vice-chair of the committee. He was the lead developer on the bgclang project, which provided LLVM/Clang on IBM Blue Gene/Q supercomputers. Hal also helps develop the Hardware/Hybrid Accelerated Cosmology Code (HACC), a two-time IEEE/ACM Gordon Bell Prize finalist. He has designed and implemented a tree-based force evaluation scheme and the I/O subsystem and contributed to many other HACC components.
Some recent publications (full publication list):
- Finkel, Hal, David Poliakoff, Jean-Sylvain Camier, and David F. Richards. "ClangJIT: Enhancing C++ with Just-in-Time Compilation." In 2019 IEEE/ACM International Workshop on Performance, Portability and Productivity in HPC (P3HPC), pp. 82-95. IEEE, 2019. (preprint)
- Wu, Xin-Chuan, Sheng Di, Emma Maitreyee Dasgupta, Franck Cappello, Hal Finkel, Yuri Alexeev, and Frederic T. Chong. "Full-state quantum circuit simulation by using data compression." In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1-24. 2019.
- Heitmann, Katrin, Hal Finkel, Adrian Pope, Vitali Morozov, Nicholas Frontiere, Salman Habib, Esteban Rangel et al. "The Outer Rim Simulation: A Path to Many-core Supercomputers." The Astrophysical Journal Supplement Series 245, no. 1 (2019): 16. (preprint)
- Kruse, Michael, and Hal Finkel. "Design and Use of Loop-Transformation Pragmas." In International Workshop on OpenMP, pp. 125-139. Springer, Cham, 2019. (preprint)
- Doerfert, Johannes, Jose Manuel Monsalve Diaz, and Hal Finkel. "The TRegion Interface and Compiler Optimizations for OpenMP Target Regions." In International Workshop on OpenMP, pp. 153-167. Springer, Cham, 2019.
- Doerfert, Johannes, Brian Homerding, and Hal Finkel. "Performance exploration through optimistic static program annotations." In International Conference on High Performance Computing, pp. 247-268. Springer, Cham, 2019.
- Doerfert, Johannes, and Hal Finkel. "Compiler optimizations for OpenMP." In International Workshop on OpenMP, pp. 113-127. Springer, Cham, 2018.
- Habib, Salman, Adrian Pope, Hal Finkel, Nicholas Frontiere, Katrin Heitmann, David Daniel, Patricia Fasel et al. "HACC: Simulating sky surveys on state-of-the-art supercomputing architectures." New Astronomy 42 (2016): 49-65. (preprint)
- Clough, Katy, Pau Figueras, Hal Finkel, Markus Kunesch, Eugene A. Lim, and Saran Tunyasuvunakool. "GRChombo: numerical relativity with adaptive mesh refinement." Classical and Quantum Gravity 32, no. 24 (2015): 245011. (preprint)
Some of my open-source projects:
- ClangJIT - An extension to Clang bringing just-in-time (JIT) compilation to C++ (video)
- bgclang - LLVM/Clang for the BG/Q
- GenericIO - GenericIO is a write-optimized library for writing self-describing scientific data files on large-scale parallel file systems (used by HACC).
- hpcrc64 - A High-Performance CRC64 Library
- HACCKernels - A benchmark for HACC's particle force kernels
- memlog - This tool attempts to help you answer the question: Why is my application using so much memory?
- trackdeps - An LD_PRELOAD module to track dependencies of an executable on its inputs