CS 6260 (Spring 2022)


Advanced Parallel Computations


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


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
MW @12:45 (please let me know if you plan on coming); other times by appointment


  • Required:
    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)
  • Recommended:
    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)
    Parallel Programming - Techniques and Applications. B. Wilkinson and M. Allen, Prentice Hall
    Structured Parallel Programming: Patterns for Efficient Computation. Michael McCool, James Reinders and Arch Robison, ISBN: 978-0124159938
    CUDA for Engineers - An Introduction to High-Performance Parallel Computing. Duane Storti and Mete Yurtoglu, ISBN: 978-0-3-417741-0
    CUDA by Example - An Introduction to General-Purpose GPU Programming. Jason Sanders and Edward Kandrot, Addison-Wesley 2011 (ISBN: 978-0-13-138768-3)
    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.

    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.
    Due to the current COVID-19 Pandemic, and consistent with the State of Michigan* requirements and the WMU Safe Return plan (https://wmich.edu/safereturn), safety requirements are in place to minimize exposure to the Western Michigan University community. These guidelines apply to all in-person or hybrid classes held either inside or outside a WMU building.
    Facial coverings (masks), over both the nose and mouth, are required for all students while in class, no matter the size of the space. This includes outdoor class settings where social distancing is not possible (i.e., at least six feet of space between individuals). Following this recommendation can minimize the transmission of the virus, which is spread between people interacting in close proximity through speaking, coughing, or sneezing. During specified classes in which facial coverings (masks) would prevent required class elements, students may remove facial coverings (masks) with instructor permission, in accordance with the exceptions in the Facial Covering (mask) Policy** ("such as playing an instrument, acting, singing, etc.").
    Facial coverings (masks) must remain in place throughout the class. Any student who removes the mandatory facial covering (mask) during class will be required to leave the classroom immediately.
    Facial coverings (masks) are not a substitute for social distancing. Students shall observe current social distancing guidelines in all instructional spaces, both indoors and outdoors. Students should avoid congregating around instructional space entrances before and after class sessions. Students should exit the instructional space immediately after the end of class to help ensure social distancing and to allow for those attending the next scheduled class session to enter.
    Students who are unable to wear a facial covering (mask) for medical reasons must contact Disability Services for Students (https://wmich.edu/disabilityservices) before they attend class.
    These guidelines are in place to ensure the safety of all students, faculty, and staff during the pandemic. Noncompliance is a violation of the class requirements and the Student Code of Honor (https://wmich.edu/conduct/expectations-students).

    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.

    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 ]