We expect that all students will need help at some point in this course. If you find yourself needing help, this is not cause for embarrassment. It is completely expected and an important part of developing teamwork skills. Please seek help early and often through any (or all) of the following resources.
There are many, many hours in which tutors are willing and available to help you with any questions you might have. See the tutoring schedule on the course website. CSE 160 open tutor/TA hours are held in CSE B260. A link will be posted each Sunday with the lab contact hours for the coming week.
Use the Piazza site for any questions related to the homeworks, material in the course or course logistics. (Piazza is to be used for course-related matters only.) Piazza allows you to post questions anonymously (to other students) if you don’t feel comfortable revealing your name. In general all questions should be addressed to Piazza EXCEPT:
Confidential questions that you wish to address to your instructor only. Please email your instructor directly.
Questions about your grade. Please contact the person who graded your assignment directly.
Posts that include portions of your PA solution. Please come see a tutor in lab.
Here are some on-line resources for documentation, tutorial, reference materials and course materials.
Introduction to Parallel Computing, Blaise Barney. A comprehensive, terse set of notes covering a wide range of material. You can use this document to chart your progress in learning about parallel computation.
LLNL’s High Performance Computing Training and Workshops. A collection of materials covering a wide range of topics.
Colorado School of Mines High Performance Computing Workshop Many code examples + slides.
IBM Red books. Some handy references, with discussions of general interest in parallel and high performance computing.
Software optimization resources, by Agner Fog. Extensive materials, including Optimizing software in C++ and The microarchitecture of Intel, AMD and VIA CPUs.
[SSE] (coming)
How to write Fast Numerical Code, Markus Püschel.
Cambridge University course notes. A wide range of subjects in addition to HPC.
Algorithms in the Real World, Guy Blelloch.
UC Berkeley Applications of Parallel Computers, taught by Jim Demmel and others. See the links to course resources including web pages from prior years. Jim Demmel wrote extensive notes in spring 1996 which are a valuable source of information.
What Every Programmer Should Know About Memory, by Ulrich Drepper
Numerical Recipes in C or Fortran, 2nd Ed., by Press et al., Cambridge University Press.
Scientific Computing: An Introductory Survey, 2nd Ed., by Michael Heath, McGraw-Hill, 2002. Includes links and software modules accessible via applets.