CS 4140, CSE 6140: Computational Science & Engineering (CSE) Algorithms
Georgia Tech, Fall 2011
Tuesday/Thursday 8:05am - 9:25am, Instructional Center, Room 105
Dr. David A. Bader
Office: KACB 1320
Office Hours: Tuesday 9:25am - 10:25am
Teaching Assistant 1: Zhaoming Yin, email@example.com
TA1 Office Hours: Monday/Wednesday 2:30pm - 3:30pm, Klaus Room 1201
Teaching Assistant 2: Ben Seibert, firstname.lastname@example.org
TA2 Office Hours: Monday/Friday 11:30am - 12:30pm, Klaus Room 1343
Petascale Computing: Algorithms and Applications,
David A. Bader (Ed.),
Chapman & Hall/CRC Computational Science Series, © 2007.
Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms,
MIT Press, 2010.
Class Mailing List:
This course will introduce students to designing high-performance and
scalable algorithms for computational science & engineering
applications. The course focuses on algorithm design, complexity
analysis, experimentation, and optimization, for important science and
engineering applications. Students will develop knowledge and skills
Students (from the Sciences, Engineering, and Computing) interested in
algorithmic applications in science and engineering are encouraged to
take this course.
- the design and analysis of real-world algorithms employed in
computational science and engineering applications, and
- performance optimization of applications using the best
practices of algorithm engineering.
- Web sites of related courses:
- Guy Blelloch, Algorithms in the Real World, Lecture Notes
- Alok Aggarwal and Jeffrey Scott Vitter, The Input/Output Complexity of Sorting and Related Problems, Communications of the ACM, 31:1116-1127, 1988.
- Sandeep Sen, Siddhartha Chatterjee, Neeraj Dumir, Towards a theory of cache-efficient algorithms, Journal of the ACM, 49(6):828-858, 2002.
- A. LaMarca and R.E. Ladner, The Influence of Caches on the Performance of Heaps, Journal of Experimental Algorithmics, Vol 1, 1996.
- A. LaMarca and R.E. Ladner, The Influence of Caches on the Performance of Sorting, Journal of Algorithms, 31:66-104, 1999.
- R.E. Ladner, J.D. Fix, and A. LaMarca, Cache Performance Analysis of Traversals and Random Accesses, Tenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 1999.
- John W. Romein, Jaap Heringa, Henri E. Bal, A Million-Fold Speed Improvement in Genomic Repeats Detection, Supercomputing 2003.
- Joon-Sang Park, Michael Penner, Viktor K Prasanna, Optimizing Graph Algorithms for Improved Cache Performance, International Parallel and Distributed Processing Symposium, Fort Lauderdale, FL, April 2002.
- Markus Kowarschik, Ulrich Rüde, Christian Weiss, and Wolfgang Karl, Cache-Aware Multigrid Methods for Solving Poisson's Equation in Two Dimensions, Computing, 64:381-399, 2000.
- M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran, Cache-Oblivious Algorithms, IEEE Symposium on Foundations of Computer Science, 1999.
- Stephen Alstrup, Michael A. Bender, Erik D. Demaine, Martin Farach-Colton, J. Ian Munro, Theis Rauhe, Mikkel Thorup, Efficient Tree Layout in a Multilevel Memory Hierarchy, Extended version of ESA 2002 paper, November 2002.
- Lars Arge, Michael A. Bender, Erik D. Demaine, Bryan Holland-Minkley, J. Ian Munro, Cache-Oblivious Priority Queue and Graph Algorithm Applications, 34th ACM Symposium on Theory of Computing (STOC), 2002.
- L. G. Valiant, A Bridging Model for Parallel Computation, Communication of the ACM, 33(8):103-111, 1990.
- D. E. Culler, R. M. Karp, D. A. Patterson, A. Sahay, K. E. Schauser, E. Santos, R. Subramonian, and T. von Eicken, LogP: Towards a Realistic Model of Parallel Computation, 4th ACM Symp. Principles and Practice of Parallel Programming (PPoPP), pp 1-12, May 1993.
- V. Ramachandran, A General-Purpose Shared-Memory Model for Parallel Computation, in M. T. Heath and A. Ranade and R. S. Schreiber (eds.), Algorithms for Parallel Processing v 105, pp 1--18, Springer-Verlag, New York, 1999.
- M. Snir and D.A. Bader, A Framework for Measuring Supercomputer Productivity, The International Journal of High Performance Computing Applications, 2004.
- D.A. Bader, B.M.E. Moret, and P. Sanders, ``High-Performance Algorithm Engineering for Parallel Computation,'' Lecture Notes of Computer Science, 2002.
- William E. Lorensen, Harvey E. Cline. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. Computer Graphics, Volume 21, Number 4, July 1987.
- M. Erez, J. H. Ahn, A. Garg, W.J. Dally, and E. Darve, Analysis and Performance Results of a Molecular Modeling Application on Merrimac, SC'04, Pittsburgh, PA, November 2004.
- D.S. Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms, in Proceedings of the 5th and 6th DIMACS Implementation Challenges, M. Goldwasser, D. S. Johnson, and C. C. McGeoch, Editors, American Mathematical Society, Providence, 2002.
- The Buffer Tree: A Technique for Designing Batched External Data Structures, Lars Arge, Algorithmica, 37(1):1-24, 2003.
- Reach for A*, Efficient Point-to-Point Shortest Path Algorithms, A.V. Goldberg, H. Kaplan, and R.F. Werneck, 2006.
- A fast and high quality multilevel scheme for partitioning irregular graphs, George Karypis and Vipin Kumar, International Conference on Parallel Processing, pp. 113-122, 1995.
- Analysis of Multilevel Graph Partitioning. George Karypis and Vipin Kumar. Supercomputing, 1995.