Amir Kamil
kamil AT cs DOT berkeley DOT edu
Teaching
CS61A Spring 2013
I have received many emails from students about CS61A next semester. To avoid answering the same questions many times, please read the following before emailing me.- CS61A will be in Python. The self-paced CS61AS will be taught by Brian Harvey in Scheme.
- At this point, there is nothing that we can do about enrollment issues. Please contact Michael-David Sasson (msasson AT cs) if you have any questions. Once enrollment restrictions have been lifted, we expect that we will have enough space for everyone who wishes to take the course.
- There will be two lectures for CS61A, and they will cover the same material. You are free to attend whichever works better for you, space permitting. However, due to space constraints, you must attend the lab and discussion section in which you are officially enrolled.
- If you are interested in TA'ing, please submit an application from the CS departmental website. Keep in mind that applicants with teaching experience will be given preference, followed by those who have read or lab assisted for CS61A. If you have not done the latter, I recommend that you apply to one of those positions instead.
Past Teaching
- CS61B: Data Structures (Summer 2002, Fall 2002, Spring 2003)
- CS70: Discrete Mathematics (Fall 2003, Fall 2009, Fall 2010, Summer 2011)
- CS162: Operating Systems (Spring 2004, Summer 2004)
Research
I am currently doing research with the Titanium group. My current work involves program analysis, languages, and compilers for parallel computing. My advisor is Kathy Yelick. I have also worked with Ivan Sutherland in the Fleet group.Titanium
Papers
- 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. - Making Sequential Consistency Practical in Titanium (slides)
Amir Kamil, Jimmy Su, and Katherine Yelick. Supercomputing 2005 (SC|05), Seattle, Washington, November 2005. - 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. - 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. - 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. - 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. - 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.
Talks
- Single Program, Multiple Data Programming for Hierarchical Computations
Amir Kamil. Dissertation Talk, EECS Department, University of California, Berkeley, May 2012. - 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.
Technical Reports
- 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. - Analysis of Partitioned Global Address Space Programs
Amir Kamil. Master's Report, EECS Department, University of California, Berkeley, December 2006. - The Hierarchical SPMD Programming Model
Amir Kamil. Technical Report No. EECS-2011-28, EECS Department, University of California, Berkeley, April 2011. - 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. - 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. - Single Program, Multiple Data Programming for Hierarchical Computations
Amir Kamil. PhD Thesis, EECS Department, University of California, Berkeley, August 2012.
Fleet
Memos
- Unified Copies, October 2006.
- Goals for the Admiral Language, July 2007.
- Problems with Concurrent Dock Use in Admiral, December 2007.
- The Admiral Language Proposal, June 2008.
- StreamIt on Fleet, July 2008.
- Fleet Programming Paradigms, October 2008.
- Relocatable Fleet Code, October 2008.
Classes
CS191 (Quantum Information Science and Technology)
CS267 (Applications of Parallel Computers)
CS261 (Security in Computer Systems)
- Pretty Good Voting, December 2004. (slides)
CS262A (Advanced Topics in Computer Systems)
- pobj: A Lightweight Persistent Objects Library and Its Application to Persistency in Titanium/Java, December 2004. (slides)
CS264 (Program Analysis)
CS270 (Combinatorial Algorithms and Data Structures)
CS263 (Design and Analysis of Programming Languages)
- Hierarchical Pointer Analysis for Distributed Programs, December 2005. (slides)
CS294-2 (Software Synthesis)
- Synthesis of Distributed Arrays in Titanium, May 2006. (slides)
CS294-11 (Research in Architecture)
- MIPS on FLEET, December 2006. (slides)
- MIPS on FLEET Update, May 2007.
CS294-2 (Quantum Computation)
- Adiabatic Quantum Computation on a 2D Grid, May 2007.