Benjamin Brock
CV Email Photo
Twitter
Blog
I'm an AI research scientist at Intel Labs, where I work in the Parallel Computing Laboratory. Before that, I completed a PhD in computer science at UC Berkeley advised by Kathy Yelick and Aydın Buluç. My research focuses on building new programming environments, libraries, and tools for high-performance computing.
Projects
- Distributed Ranges is a model we developed at Intel Labs for building distributed data structures, algorithms, and views for distributed programming environments. This work is based on my previous PhD work on RDMA-based distributed data structures.
[ICS'24] [GitHub] [Video]
- Binsparse is a cross-platform binary file format for sparse matrices and tensors. While significant work has gone into implementing fast parsers for the ASCII-based Matrix Market format, text parsing is still quite slow, and our embeddable cross-platform parser is significantly faster.
[Spec] [Implementation]
- The Berkeley Container Library is a cross-platform C++ library of distributed data structures. I developed BCL while working on my PhD on RDMA-based distributed data structures.
[ICPP'19, IA3'19, ICS'24, Thesis] [GitHub] [Video]
- GraphBLAS is an API for implementing graph algorithms in the language of linear algebra. I'm working on the up-and-coming C++ API.
[GrAPL'21] [GitHub] [Video]
Software
- reple: "Replay-based" REPLs for compiled languages.
Provides interpreters for C, C++, MPI, UPC, UPC++, BCL, Go, Rust, and more.
[GitHub]
[Blog]
[Video]
- BUtil Clean C++ bindings for MPI. Also, a cool declarative syntax for point-to-point communication.
Selected Publications
Distributed Data Structures
- Benjamin Brock, Robert Cohn, Suyash Bakshi, Tuomas Karna, Jeongnim Kim, Mateusz Nowak, Łukasz Ślusarczyk, Kacper Stefanski, and Timothy G Mattson. "Distributed Ranges: A Model for Distributed Data Structures, Algorithms, and Views," the 38th ACM International Conference on Supercomputing (ICS'24). [ bib | code | preprint]
- Benjamin Brock, Aydın Buluç, and Katherine Yelick.. "RDMA-Based Algorithms for Sparse Matrix Multiplication on GPUs" the 38th ACM International Conference on Supercomputing (ICS'24). [ bib | code | preprint]
- Benjamin Brock "RDMA-Based Distributed Data Structures for Large Scale Parallel Systems," PhD Thesis, 2022. [ bib | preprint ]
- Yuxin Chen, Benjamin Brock, Serban Porumbescu, Aydın Buluç, Katherine Yelick, and John Owens. "Scalable Irregular Parallelism with GPUs: Getting CPUs Out of the Way," in International Conference for High Performance Computing, Networking, Storage, and Analysis (SC), 2022. [ preprint ]
- Oguz Selvitopi, Benjamin Brock, Israt Nisa, Alok Tripathy, Katherine Yelick, and Aydın Buluç. "Distributed-Memory Parallel Algorithms for Sparse Times Tall-Skinny-Dense Matrix Multiplication," in ACM International Conference on Supercomputing (ICS), 2021. [ paper ]
- Benjamin Brock, Yuxin Chen, Jiakun Yan, John Owens, Aydın Buluç, and Katherine Yelick. "RDMA vs. RPC for Implementing Distributed Data Structures," Workshop on Irregular Applications: Architectures and Algorithms (IA3), 2019. [ bib | preprint ]
- Benjamin Brock, Aydın Buluç, and Katherine Yelick. "BCL: A Cross-Platform Distributed Data Structures Library," in Proceedings of the 48th International Conference on Parallel Processing (ICPP), 2019 [ bib | code | preprint ]
Graphs and Sparsity
- Jie Liu, Zhongyuan Zhao, Zijian Ding, Benjamin Brock, Hongbo Rong, Zhiru Zhang. "UniSparse: An Intermediate Language for General Sparse Format Customization," ACM Programming Languages (OOPSLA), 2024.
- Benjamin Brock, Scott McMillan, Aydın Buluç, Timothy Mattson, and José Moreira. "C++ and Interoperability Across Libraries: The GraphBLAS C++ API," Workshop on Graphs, Architectures, Programming, and Learning (GrAPL), 2023.
- Benjamin Brock, Aydın Buluç, Timothy Mattson, Scott McMillan, and José Moreira. "The GraphBLAS C API Specification," GraphBLAS.org, Tech. Report, 2019.
- Yuxin Chen, Benjamin Brock, Serban Porumbescu, Aydın Buluç, Katherine Yelick, and John Owens. "Atos: A Task-Parallel GPU Scheduler for Graph Analytics," in Proceedings of the International Conference on Parallel Processing (ICPP), 2022. [ preprint ]
- Benjamin Brock, Scott McMillan, Aydın Buluç, Timothy Mattson, and José Moreira. "GraphBLAS: C++ Iterators for Sparse Matrices," Workshop on Graphs, Architectures, Programming, and Learning (GrAPL), 2022.
Other
- Qijing Huang, Christopher Yarp, Sagar Karandikar, Nathan Pemberton, Benjamin Brock, Liang Ma, Guohao Dai, Robert Quitt, Krste Asanovic, and John Wawrzynek. "Centrifuge: Evaluating full-system HLS-generated heterogenous-accelerator SoCs using FPGA-Acceleration," in Proceedings of the 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). [ bib | pdf ]
- Michael Driscoll, Benjamin Brock, Frank Ong, Jonathan Tamir, Hsiou-Yuan Liu, Michael Lustig, Armando Fox, and Katherine Yelick. "Indigo: A Domain-Specific Language for Fast, Portable Image Reconstruction," in Proceedings of the IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2018. [ bib | code | paper ]
-
Azzam Haidar, Benjamin Brock, Stanimire Tomov, Michael Guidry, Jay Jay Billings, Daniel Shyles, and Jack Dongarra. "Performance Analysis and Acceleration of Explicit Integration for Large Kinetic Networks using Batched GPU Computations," in Proceedings of the 2016 IEEE Conference on High Performance Extreme Computing (HPEC). [ bib | paper ]
-
Benjamin Brock, Andrew Belt, Jay Jay Billings, and Mike Guidry. "Explicit integration with GPU acceleration for large kinetic networks," in Journal of Computational Physics (JCP), 2015. [ bib | preprint ]