CS 6260 (Spring 2024)

 
 

Advanced Parallel Computations

 

[ Courses ] [ syllabus ] [ assignments ] [ references ] [ projects ] [ presentations ]

   

Instructor
Dr. Elise de Doncker
Department of Computer Science
College of Engineering and Applied Sciences
B-240 Parkview Campus
Kalamazoo, MI-49008

Phone: (269) 276-3102 (office), 276-3101 (Dept. office) 276-3122 (fax)
(but preferably contact me by e-mail: elise [dot] dedoncker [at] wmich [dot] edu)

Office hours
M 12:45 - 13:45
T 13:15 - 14:15
Please let me know if you plan on coming; other times by appointment.

Texts

  • Required:
    a An Introduction to Parallel Programming.
    Peter S. Pacheco, Morgan Kaufman Elsevier, Inc. (978-0-12-374260-5)
    OR
    An Introduction to Parallel Programming. Peter S. Pacheco and Matthew Malensek, 2022 Elsevier, Inc. (978-0-12-804605)

    CUDA by Example - An Introduction to General-Purpose GPU Programming. Jason Sanders and Edward Kandrot, Addison-Wesley (ISBN: 978-0-13-138768-3)
    OR
    CUDA for Engineers: An Introduction to High-Performance Parallel Computing. Duane Storti and Mete Yurtoglu, 1st Edition, Addison-Wesley (ISBN: 978-0134177410)

  • Recommended:
    Parallel Programming - Techniques and Applications. B. Wilkinson and M. Allen, Prentice Hall
    Sequential and Parallel Algorithms and Data Structures: The Basic Toolbox. Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger and Roman Dementiev (ISBN: 978-3030252090)
    Programming Massively Parallel Processors: A Hands-on Approach 3rd Edition. David B. Kirk and Wen-mei W. Hwu (ISBN: 978-0128119860)
    Parallel Programming in C with MPI and OpenMP. Micheal J. Quinn, McGraw-Hill (ISBN: 978-0071232654)
    Parallel Programming for Multicore and Cluster Systems. Thomas Rauber and Gudula Rünger, Springer 2010 (ISBN: 978-3-642-04817-3)
    Structured Parallel Programming: Patterns for Efficient Computation. Michael McCool, James Reinders and Arch Robison, ISBN: 978-0124159938
    An Introduction to Parallel Programming. Peter S. Pacheco, Elsevier 2011 (ISBN: 978-0-12-374260-5)
    Using MPI - Portable Parallel Programming with the Message-Passing Interface. W. Gropp, E. Lusk and A. Skjellum, The MIT Press
    Introduction to Parallel Computing. A. Grama et al., Benjamin/Cummings Publishing Company
    Introduction to High Performance Computing for Scientists and Engineers. Georg Hager and Gerhard Wellein, ISBN: 978-1439811924 (or eBook ISBN: 978-1439811931)
    Introduction to Parallel Algorithms and Architectures: Arrays - Trees - Hypercubes. F. Thomson Leighton, Morgan Kaufmann Publishers

    Catalog description
    Advanced topics in parallel computations such as algorithms, complexity and parallel performance in the areas of graph algorithms, numerical algorithms, computer graphics, and aspects of parallel environments and languages. Students will be expected to read research papers and complete a semester project involving the use and implementation of parallel programming paradigms on current machines.

    Learning outcomes

  • Students will give class presentations, showing their mastery of the topics studied and demonstrating their research work.
  • Students will be able to apply performance evaluation techniques to analyze/measure the efficiency and scalability of parallel algorithms.
  • Students will be able to use parallel environments (MPI, OpenMP), CUDA.
  • Students will understand the effects of parallel overhead on performance.
  • Students will be able to apply parallel strategies and paradigms to design parallel/distributed algorithms.
  • Students' progress and achievements towards reaching the course goals and objectives will be apparent from such measures as: the results and creativity displayed in course assignments; and the contents and delivery of their presentations.

    Grading
    There will be two tests and a final exam. Other graded work includes assignments, presentations and a semester project.
    The following scale will be used to determine your final grade on the basis of your final average:  A: 92.0 - 100.0,   BA: 88.0 -  91.9,   B: 82.0 -  87.9,   CB: 78.0 -  81.9,   C: 72.0 -  77.9,   DC: 68.0 -  71.9,   D: 60.0 -  67.9,   E: below  60.0.  Problems with attendance may lead to a failing grade.

    Academic Integrity Policies
    You are responsible for making yourself aware of and understanding the policies and procedures in the Undergraduate Catalog that pertain to Academic Integrity. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. If there is reason to believe you have been involve in academic dishonesty, you will be referred to the Office of Student Judicial Affairs. You will be given the opportunity to review the charge(s). If you believe you are not responsible, you will have the opportunity for a hearing. You should consult with me if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test.

    Additional instructor's notes: The above policy on academic dishonesty includes cheating by submitting tests, assignments or projects where the work (even in part) has been downloaded from the internet; this also includes programs, as well as text in (written or programming) assignments and project reports. Cooperation among students on submitted work is not allowed. If you are caught there will be consequences.

    Links
    http://www.cs.wmich.edu/hpcs High Performance Computational Science Laboratory (HPCS), home of thor
    https://www.amazon.com/Programming-Massively-Parallel-Processors-Hands-dp-0128119861/dp/0128119861/ref=dp_ob_image_bk Kirk and Hwu 3rd edition book and ebook at Amazon
    https://smile.amazon.com/gp/product/0124159931?ref=em_1p_1_im&ref_=pe_27541010_564465120 McCools, Reinders and Robison book and ebook at Amazon
    http://www.cs.usfca.edu/~peter/ipp/index.html Pacheco text book site, with link to source code archive
    http://www.elsevierdirect.com/companion.jsp?ISBN=9780123742605 Pacheco book companion website, with link to source code archive, figures, etc.
    https://www.amazon.com/CUDA-Example-Introduction-General-Purpose-Programming/dp/0131387685#reader_0131387685 NVIDIA site for the book "CUDA by Example" (where you can look in the book and buy it; and its source code is available for download)
    http://www.netlib.org Top 500 supercomputers, software repository and more
    http://www.netlib.org/utk/people/JackDongarra/talks.htm Jack Dongarra talks
    http://www.psc.edu/media/training/OpenACC-GPU_Oct2012/IntroductionToOpenACC.pdf OpenACC
    http://www.hpcwire.com/jobs Job lists in high performance computing. Subscribe to HPCwire!
    http://technews.acm.org/archives.cfm Archive ACM Technews
    http://www.linuxjournal.com Linux journal
    http://www.linux-mag.com Linux magazine
    http://www.globus.org Globus (grid computing)
    http://www.geant.net/pages/home.aspx Géant network Europe
    http://www.ibm.com/developerworks/web/library/wa-cloudgrid Article on Cloud versus Grid Computing
    http://www.mcs.anl.gov/research/projects/mpi/ MPI homepage. Download and install MPICH2.
    http://www.cs.wmich.edu/~elise/courses/cs626/presentations-s09.htm Presentations CS 6260 Spring 2009

    [ Courses ] [ syllabus ] [ assignments ] [ references ] [ projects ] [ presentations ]