CX 4140 / CSE 6140: Computational Science & Engineering (CSE) Algorithms

Georgia Tech, Fall 2013

Tuesday/Thursday 9:35am - 10:55am, Clough Building, Room 102
Instructor: Dr. David A. Bader

Office: KACB 1320
Office Hours: Tuesday 11:00am - 12:00pm

Teaching Assistant 1: Lluis Miquel Munguia, lluis.munguia@gatech.edu
TA1 Office Hours: Tuesday/Thursday 11:00am - 12:00pm, Klaus Room 1343

Teaching Assistant 2: Anita Zakrzewska, azakrzewska3@gatech.edu
TA2 Office Hours: Monday/Wednesday 4:30pm - 5:30pm, Klaus Room 1343

Textbooks:

Class Mailing List:

Course Description:

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 concerning: Students (from the Sciences, Engineering, and Computing) interested in algorithmic applications in science and engineering are encouraged to take this course.

Course Information:

Useful Links:

Additional Readings:

  1. Guy Blelloch, Algorithms in the Real World, Lecture Notes
  2. Alok Aggarwal and Jeffrey Scott Vitter, The Input/Output Complexity of Sorting and Related Problems, Communications of the ACM, 31:1116-1127, 1988.
  3. Sandeep Sen, Siddhartha Chatterjee, Neeraj Dumir, Towards a theory of cache-efficient algorithms, Journal of the ACM, 49(6):828-858, 2002.
  4. A. LaMarca and R.E. Ladner, The Influence of Caches on the Performance of Heaps, Journal of Experimental Algorithmics, Vol 1, 1996.
  5. A. LaMarca and R.E. Ladner, The Influence of Caches on the Performance of Sorting, Journal of Algorithms, 31:66-104, 1999.
  6. 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.
  7. John W. Romein, Jaap Heringa, Henri E. Bal, A Million-Fold Speed Improvement in Genomic Repeats Detection, Supercomputing 2003.
  8. 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.
  9. 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.
  10. M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran, Cache-Oblivious Algorithms, IEEE Symposium on Foundations of Computer Science, 1999.
  11. 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.
  12. 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.
  13. L. G. Valiant, A Bridging Model for Parallel Computation, Communication of the ACM, 33(8):103-111, 1990.
  14. 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.
  15. 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.
  16. M. Snir and D.A. Bader, A Framework for Measuring Supercomputer Productivity, The International Journal of High Performance Computing Applications, 2004.
  17. D.A. Bader, B.M.E. Moret, and P. Sanders, ``High-Performance Algorithm Engineering for Parallel Computation,'' Lecture Notes of Computer Science, 2002.
  18. William E. Lorensen, Harvey E. Cline. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. Computer Graphics, Volume 21, Number 4, July 1987.
  19. 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.
  20. 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.
  21. The Buffer Tree: A Technique for Designing Batched External Data Structures, Lars Arge, Algorithmica, 37(1):1-24, 2003.
  22. Reach for A*, Efficient Point-to-Point Shortest Path Algorithms, A.V. Goldberg, H. Kaplan, and R.F. Werneck, 2006.
  23. 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.
  24. Analysis of Multilevel Graph Partitioning. George Karypis and Vipin Kumar. Supercomputing, 1995.