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
|