Amir Kamil | عامر كامل |
---|---|
pronounced [ˈaːmɪr ˈkaːmɪl] | |
(rhymes with "Amish calming") |

Beyster Building 2632
2260 Hayward Street
Ann Arbor, MI 48109-2121
(734) 764-2138
akamil AT umich DOT edu
Pronouns: he/him/his
Teaching
I am a Lecturer at the University of Michigan. My tentative teaching schedule for AY22-23 is:
- Fall 2022: EECS 376: Foundations of Computer Science
- Winter 2023: EECS 390: Programming Paradigms
In the past, I have taught the following courses at the University of Michigan:
- EECS 183: Elementary Programming Concepts
- EECS 280: Programming and Introductory Data Structures
- EECS 285: Practical Programming in Java
- EECS 376: Foundations of Computer Science
- EECS 390: Programming Paradigms
- EECS 490: Programming Languages
I have also taught the following courses at UC Berkeley:
Custom texts I have written for courses at the University of Michigan:
- Programming and Data Structures (EECS 280)
- Foundations of Computer Science (EECS 376)
- Programming Language Principles and Paradigms (EECS 390, originally for EECS 490)
Research
I am currently doing research with the Computer Languages and Systems Software group at Lawrence Berkeley Lab. My work involves programming models, program analysis, languages, and compilers for parallel computing. I also do research in Computer Science education.
Peer-Reviewed Conference and Workshop Papers
- Optimization of Asynchronous Communication Operations through Eager Notifications (slides)
Amir Kamil and Dan Bonachea. The 4th Annual Parallel Applications Workshop, Alternatives To MPI+X (PAW-ATM 2021), November 2021. - An Analysis of Iterative and Recursive Problem Performance
Madeline Endres, Westley Weimer, Amir Kamil. 52nd ACM Technical Symposium on Computer Science Education (SIGCSE 2021), March 2021. - Student Sense of Community Through an Introductory Computer Programming Course Sequence
Laura K Alford, Amir Kamil, and Andrew DeOrio. American Society of Engineering Education Annual Conference (ASEE 2020), June 2020. - Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research
Brett A. Becker, Paul Denny, Raymond Pettit, Durell Bouchard, Dennis J. Bouvier, Brian Harrington, Amir Kamil, Amey Karkare, Chris McDonald, Peter-Michael Osera, Janice L. Pearce, James Prather. Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR 2019), Aberdeen, Scotland, July 2019. - UPC++: A High-Performance Communication Framework for Asynchronous Computation
John Bachan, Scott B. Baden, Steven Hofmeyr, Mathias Jacquelin, Amir Kamil, Dan Bonachea, Paul H. Hargrove, Hadia Ahmed. 33rd IEEE International Parallel & Distributed Processing Symposium (IPDPS 2019), Rio de Janeiro, Brazil, May 2019. - Gender-balanced TAs from an Unbalanced Student Body (slides)
Amir Kamil, James Juett, Andrew DeOrio. 50th ACM Technical Symposium on Computer Science Education (SIGCSE 2019), Minneapolis, MN, February 2019. - The UPC++ PGAS library for Exascale Computing
John Bachan, Dan Bonachea, Paul H. Hargrove, Steve Hofmeyer, Mathias Jacquelin, Amir Kamil, Brian van Straalen, Scott B. Baden. Second Annual PGAS Applications Workshop (PAW 2017), Denver, CO, November 2017. - A Hartree-Fock Application using UPC++ and the New DArray Library
David Ozog, Amir Kamil, Yili Zheng, Paul Hargrove, Jeff R. Hammond, Allen Malony, Wibe de Jong, Kathy Yelick. 30th IEEE International Parallel & Distributed Processing Symposium (IPDPS 2016), Chicago, Illinois, May 2016. - Implementing High-Performance Geometric Multigrid Solver With Naturally Grained Messages
Hongzhang Shan, Samuel Williams, Yili Zheng, Amir Kamil, and Katherine Yelick. 9th International Conference on Partitioned Global Address Space Programming Models (PGAS 2015), Washington, DC, September 2015. - Evaluation of PGAS Communication Paradigms with Geometric Multigrid (slides)
Hongzhang Shan, Amir Kamil, Samuel Williams, Yili Zheng, and Katherine Yelick. 8th International Conference on Partitioned Global Address Space Programming Models (PGAS 2014), Eugene, Oregon, October 2014. - A Local-View Array Library for Partitioned Global Address Space C++ Programs (slides)
Amir Kamil, Yili Zheng, and Katherine Yelick. ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, Edinburgh, United Kingdom, June 2014. - UPC++: A PGAS Extension for C++
Yili Zheng, Amir Kamil, Michael Driscoll, Hongzhang Shan, and Katherine Yelick. 28th IEEE International Parallel and Distributed Processing Symposium, Phoenix, Arizona, May 2014. - Hierarchical Computation in the SPMD Programming Model (slides)
Amir Kamil and Katherine Yelick. 26th International Workshop on Languages and Compilers for Parallel Computing, San Jose, California, September 2013. - Enforcing Textual Alignment of Collectives Using Dynamic Checks (slides)
Amir Kamil and Katherine Yelick. 22nd International Workshop on Languages and Compilers for Parallel Computing, Newark, Delaware, October 2009. - Hierarchical Pointer Analysis for Distributed Programs (slides)
Amir Kamil and Katherine Yelick. The 14th International Static Analysis Symposium (SAS 2007), Kongens Lyngby, Denmark, August 2007. - Making Sequential Consistency Practical in Titanium (slides)
Amir Kamil, Jimmy Su, and Katherine Yelick. Supercomputing 2005 (SC|05), Seattle, Washington, November 2005. - Concurrency Analysis for Parallel Programs with Textually Aligned Barriers (slides)
Amir Kamil and Katherine Yelick. 18th International Workshop on Languages and Compilers for Parallel Computing, Hawthorne, New York, October 2005.
Journal Papers
- Trends in Data Locality Abstractions for HPC Systems
Didem Unat, Anshu Dubey, Torsten Hoefler, John Shalf, Mark Abraham, Mauro Bianco, Bradford L. Chamberlain, Romain Cledat, H. Carter Edwards, Hal Finkel, Karl Fuerlinger, Frank Hannig, Emmanuel Jeannot, Amir Kamil, Jeff Keasler, Paul H J Kelly, Vitus Leung, Hatem Ltaief, Naoya Maruyama, Chris J. Newburn, and Miquel Pericás. IEEE Transactions on Parallel and Distributed Systems, Volume 28, Issue 10, October 1 2017. - Productivity and Performance Using Partitioned Global Address Space Languages
Katherine Yelick, Dan Bonachea, Wei-Yu Chen, Phillip Colella, Kaushik Datta, Jason Duell, Susan L. Graham, Paul Hargrove, Paul Hilfinger, Parry Husbands, Costin Iancu, Amir Kamil, Rajesh Nishtala, Jimmy Su, Michael Welcome, and Tong Wen. Parallel Symbolic Computation 2007, London, Ontario, July 2007. - Parallel Languages and Compilers: Perspective from the Titanium Experience
Katherine Yelick, Paul Hilfinger, Susan Graham, Dan Bonachea, Jimmy Su, Amir Kamil, Kaushik Datta, Phillip Colella, and Tong Wen. The International Journal of High Performance Computing Applications, Volume 21, No. 2, Summer 2007.
Technical Reports
- UPC++ Specification v1.0, Revision 2022.3.0
Dan Bonachea and Amir Kamil. Technical Report No. LBNL-2001452, Lawrence Berkeley National Laboratory, March 2022. - UPC++ Programmer's Guide, Revision 2022.3.0
John Bachan, Scott B. Baden, Dan Bonachea, Max Grossman, Paul H. Hargrove, Steve Hofmeyer, Mathias Jacquelin, Amir Kamil, Brian van Straalen, and Daniel Waters. Technical Report No. LBNL-2001453, Lawrence Berkeley National Laboratory, March 2022. - Programming Abstractions for Data Locality
Adrian Tate, Amir Kamil, Anshu Dubey, Armin Größlinger, Brad Chamberlain, Brice Goglin, Carter Edwards, Chris J. Newburn, David Padua, Didem Unat, Emmanuel Jeannot, Frank Hannig, Gysi Tobias, Hatem Ltaief, James Sexton, Jesus Labarta, John Shalf, Karl Fuerlinger, Kathryn O'Brien, Leonidas Linardakis, Maciej Besta, Marie-Christine Sawley, Mark Abraham, Mauro Bianco, Miquel Pericas, Naoya Maruyama, Paul Kelly, Peter Messmer, Robert B. Ross, Romain Cledat, Satoshi Matsuoka, Thomas Schulthess, Torsten Hoefler, and Vitus Leung. 2014. - A Team Analysis Proposal for Recursive Single Program, Multiple Data Programs
Amir Kamil. Technical Report No. EECS-2012-183, EECS Department, University of California, Berkeley, August 2012. - Hierarchical Additions to the SPMD Programming Model
Amir Kamil and Katherine Yelick. Technical Report No. EECS-2012-20, EECS Department, University of California, Berkeley, February 2012. - The Hierarchical SPMD Programming Model
Amir Kamil. Technical Report No. EECS-2011-28, EECS Department, University of California, Berkeley, April 2011. - Titanium Language Reference Manual, Version 2.20
P. N. Hilfinger, Dan Bonachea, Kaushik Datta, David Gay, Susan Graham, Amir Kamil, Ben Liblit, Geoff Pike, Jimmy Su, and Katherine Yelick. Technical Report No. EECS-2005-15.1, EECS Department, University of California, Berkeley, August 2006. - Concurrency Analysis for Parallel Programs with Textually Aligned Barriers
Amir Kamil and Katherine Yelick. Technical Report No. EECS-2006-41, EECS Department, University of California, Berkeley, April 2006.
Theses
- Single Program, Multiple Data Programming for Hierarchical Computations
Amir Kamil. PhD Thesis, EECS Department, University of California, Berkeley, August 2012. - Analysis of Partitioned Global Address Space Programs
Amir Kamil. Master's Report, EECS Department, University of California, Berkeley, December 2006.
Other
- Making a Gamble: Recruiting SE Participants on a Budget
Madeline Endres, Westley Weimer, and Amir Kamil. The 1st International Workshop on Recruiting Participants for Empirical Software Engineering (ROPES'22), May 2022. - PyGAS: A Partitioned Global Address Space Extension for Python
Amir Kamil and Katherine Yelick. The Sixth Conference on Partitioned Global Address Space Programming Models (PGAS 2012), Santa Barbara, California, October 2012. - Towards a Sequentially Consistent Memory Model for PGAS Languages
Amir Kamil, Jimmy Su, and Katherine Yelick. The Second Conference on Partitioned Global Address Space Programming Models (PGAS 2006), Washington, D.C., October 2006.
Tutorials
- UPC++: An Asynchronous RMA/RPC Library for Distributed C++ Applications
Katherine A. Yelick, Amir Kamil, and Damian Rouson. The International Conference for High Performance Computing, Networking, Storage and Analysis 2021 (SC21), November 2021. - UPC++: An Asynchronous RMA/RPC Library for Distributed C++ Applications
Katherine A. Yelick, Amir Kamil, Dan Bonachea, and Paul H. Hargrove. The International Conference for High Performance Computing, Networking, Storage and Analysis 2020 (SC20), November 2020. - UPC++: An Asynchronous RMA/RPC Library for Distributed C++ Applications
Amir Kamil. Argonne Leadership Computing Facility and Exascale Computing Project UPC++ Webinar, May 2020. - UPC++: A PGAS/RPC Library for Asynchronous Exascale Communication in C++
Amir Kamil. 2020 Exascale Computing Project Annual Meeting, Houston, TX, February 2020. - UPC++: A High-Performance Communication Framework for Asynchronous Computation
Amir Kamil. National Energy Research Scientific Computing Center and Exascale Computing Project Tutorial on UPC++, Berkeley, CA, December 2019. - UPC++: A High-Performance Communication Framework for Asynchronous Computation
Amir Kamil. National Energy Research Scientific Computing Center and Exascale Computing Project Tutorial on UPC++, November 2019. - UPC and UPC++: Partitioned Global Address Space Languages
Katherine Yelick and Amir Kamil. Argonne Training Program on Extreme-Scale Computing (ATPESC 2017), St Charles, Illinois, August 2017. - Developing Parallel C++ Applications with Modern PGAS Features in UPC++
Katherine Yelick, Yili Zheng, and Amir Kamil. The Ninth International Conference on Partitioned Global Address Space Programming Models (PGAS 2015), Washington, DC, September 2015.
Panels and Invited Talks
- Towards a Portable Model for Mapping Locality to Hierarchical Machines
Amir Kamil and Katherine Yelick. Workshop on Programming Abstractions for Data Locality (PADAL 2015), Berkeley, California, June 2015. - Managing Hierarchy with Teams in the SPMD Programming Model
Amir Kamil. Workshop on Programming Abstractions for Data Locality (PADAL 2014), Lugano, Switzerland, April 2014. - Three Challenges and Three Solutions for Exascale Computing
Amir Kamil and Katherine Yelick. NSF Workshop on Research Directions in the Principles of Parallel Computing, Pittsburgh, Pennsylvania, June 2012. - A TA-selection Process that Increases Representation of Women
Amir Kamil. Showcase of NCWIT Academic Alliance Members: Promising Practices Regarding Admission, Curriculum, Pedagogy, TA Selection, and Undergraduate Research at the 52nd ACM Technical Symposium on Computer Science Education (SIGCSE 2021), March 2021.