Dr. Elise de Doncker
Department of Computer Science
College of Engineering and Applied Sciences
B-240 Parkview Campus
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)
MW @12:45 (please let me know if you plan on coming); other times by
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)
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
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.
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.
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
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
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.
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
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).
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.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
Article on Cloud versus Grid Computing
http://www.mcs.anl.gov/research/projects/mpi/ MPI homepage. Download and install MPICH2.
Presentations CS 6260 Spring 2009