Link to the
Computer Organization and Programming for Scientific Computing AMSC/CMSC 662, Fall 2017
- Lectures : Monday-Wednesday 5:00-6:15pm, CSIC 4122.
- The class will start on Sept. 6th. There will be no class on the week of Aug. 28th.
- Instructor : Pierre-Emmanuel Jabin
- Contact information, Phone : 301 405 5122, Office : 2307
in Math. Bldg and 4149 in CSCAMM, e-mail : email@example.com
- Office hours: Monday-Wednesday 4pm-5pm
- Textbook: There is no required
textbook but the class will use materials from Computer Systems, A Programmer's Perspective by R.E. Bryant and D.R. O'Hallaron (ISBN-13 978-0-13-409266-9) and An Introduction to Parallel Programming, by Peter S. Pacheco (ISBN-13: 978-0-12-374260-5).
- Material: A more complete description of the material covered week by
week and assignmnents can be found at the address http://www2.cscamm.umd.edu/~jabin/Schedule17_662.html
- Homework: There will be several individual
projects to be completed.
- Grade: The grade will based on the projects.
- Disabilities : Please inform me as soon as possible if you need
accommodations because of a disability.
- Communication : Information about the course will be given during
class and through this web page. In specific cases (unexpected class
cancellations), students will be contacted by e-mail.
- The Course Related Policies can be found at http://www.ugst.umd.edu/courserelatedpolicies.html
- Academic integrity : The University of Maryland, College Park has a
nationally recognized Code of Academic Integrity, administered by the
Student Honor Council. This Code sets standards for academic integrity
at Maryland for all undergraduate and graduate students. As a student
you are responsible for upholding these standards for this course. It is
very important for you to be aware of the consequences of cheating,
fabrication, facilitation, and plagiarism. For more information on the
Code of Academic Integrity or the Student Honor Council, please visit www.shc.umd.edu. To further exhibit
your commitment to academic integrity, remember to sign the Honor Pledge
on all examinations and assignments: "I pledge on my honor that I have
not given or received any unauthorized assistance on this examination
- Some examples about academic integrity : It is all right for students
to discuss between them about the projects. It is similarly permitted to
look for tips on the internet,
from other students or other resources. It is wrong to simply copy from
any student, a book, a web page or any other source.
Course Description (Preliminary)
The class introduces some basic concepts about computer architecture with the goal of better understanding how to enhance the performance, speed and reliability, of scientific computing algorithms. The class will cover the following topics
- What is in a computer: Basic hardware organization.
- How a program runs on a computer, what are processes and threads.
- How the memory is handled, what virtual memory is.
- How to do parallel programming on CPU's, with a brief introduction to MPI and OpenMP.
- Some basic notions of parallel programming on GPU's with CUDA.
No deep a priori knowledge of programmation is required for the class. Some familiarity with a programming language is expected (types, arrays, for loops...). The class will mostly use the C language but will include the necessary basic notions for the students not already familiar with C.