Meeting time: TR 2-3:30pm |
UAF CS F641 |
Instructor: Dr. O. Lawlor |
Recommended Textbook: |
ADA Compliance: Will work with Office of Disability Services (474-5655) to provide reasonable accommodation to students with disabilities. |
Course Website: http://www.cs.uaf.edu/2010/spring/cs641 |
By the end of the course, you will be able to understand both the present and future of computer design for performance: parallelism. Specifically, we will cover performance analysis and modeling, and learn how to write and tune code on machines ranging from single-core embedded machines through cutting edge graphics processor programming. To understand this, you will need to know at least the following topics from the course prerequisites:
From CS441: pipelining, CPU design, and parallel programming.
From CS321 (OS), and its prerequisite CS301 (Assembly)
Bits, binary, hex, octal, bitwise operations (like & | ~ ^ << >>), and why they matter
Basic computer hardware: CPU, arithmetic, floating-point, cache, RAM, disk, network
Threads, processes, virtual memory, paging, shared memory, concurrency, task switching
From EE 341, and its prerequisite Physics 212
Resistance, capacitance, and how they affect circuit wiring at high speeds and long distances
Logic gates: and, or, not, xor, nand, nor, and how they're useful to build circuits
Glue logic: busses, mux/demux, flip-flops, and how to build circuits with them
Academic Help: Google, Rasmuson Library, Academic Advising Center (509 Gruening, 474-6396), Math Lab (Chapman Room 305), English Writing Center (801 Gruening Bldg, 474-5314).
You'll get better grades by attending class, doing homework, and understanding the material than by cramming before the exam. Your overall grade comes from:
HW: Homeworks and machine problems, to be distributed through the semester.
PROJ: three research/development projects, with in-class presentations.
MT: Midterm Exam
FINAL: Final Exam (comprehensive)
Your overall score is then calculated
as:
GRADE = 20% HW + 30% PROJ + 25% MT +
25% FINAL
This percentage score is transformed into a plus-minus letter grade via these cutoffs: A >= 93%; A- 90%; B+ 87%; B 80%; C+ 77%; C 73%; C- 70%; D+ 67%; D 63%; D- 60%; F. The grades “B-”, “F+”, and “F-” will not be given. “A+” is reserved for truly extraordinary work.
At my discretion, I may round your grade up if it is near a grading boundary. Homeworks are due at midnight on the day they are due. Late homeworks will receive no credit. At my discretion, I may allow late work without penalty when due to circumstances beyond your control. Projects that are up to two days late may be accepted at a 50% grade penalty (e.g., on-time grade: 86%; late grade: 43%). Everything you turn in must be your own work--violations of the UAF Honor code will result in a minimum penalty equal to THAT ENTIRE SECTION OF YOUR GRADE (e.g., one plagiarized homework question will negate an otherwise perfect grade on all homeworks). However, even substantial reuse of other people's work is fine (and not plagiarism) if it is clearly cited; you'll be graded on what you've added to others' work. Group projects (NOT homeworks) are acceptable iff you clearly label who did what work; but I do expect a two-person group project to represent twice as much work as a one-person project. Department policy does not allow tests to be taken early; but in extraordinary circumstances may be taken late.
Last day to drop: Friday, February 4. Midterm exam: Thursday, March 10. Spring break: March 12-20. Last day to withdraw: March 25. Last day of class: Thursday, May 5. Final exam: 10:15am on Tuesday, May 10.
January: Physical Parallelism
Superscalar Parallelism
Project 1 Presentations
Vector Parallelism
GPU Programming and Performance
Early March: |
Late March: (after spring break) Multicore Parallelism
Speeding Up Memory
Distributed-memory Parallelism
May: |