Welcome students! ... to the Parallel Computing course, edition Spring 2015. I will keep updating this page regularly. If you have questions related to that course feel free to email me.
Most of us have learned to program a single microprocessor using a high-level programming language like C/C++, Java, ... This is called sequential programming. We feel very comfortable with this because we think in sequential way and give the machine statements to be executed in sequence. However, this has to change. A single microprocessor (or single core) no longer exists in almost all computers we are using today (including your tablets and smart phones). Most of our devices are now multicore processors. A multicore processor contains several core (called CPUs or cores) on-chip. To make the best use of these multicore chips we need to program them in-parallel. Sequential programming, for all platforms from smartphones to supercomputers, is falling out of fashion and taking back-seat to parallel programming.
How to think in parallel? How to write code in parallel to make the best use of the underlying hardware? How is that new hardware different from the traditional one? What will the future be for the software and hardware? This is the topic of this course.
Here is some basic information about this course:
Mailing ListSign up for the Mailman mailing list for the course, if the system has not already signed you.
|1||1/26||Why Parallel Computing?||1.1-1.4|
|2||1/28||Parallel Hardware: Basics||2.1-2.2|
|3||2/2||Parallel Hardware: Advanced||2.3|
|4||2/4||Parallel Hardware: Examples|
|5||2/9||Parallel Software: Basics||2.4, 2.7|
|6||2/11||Parallel Software: Advanced|
|2/16||No class - President's day|
|8||2/23||MPI - I||3.1|
|9||2/25||MPI - II||3.2, 3.3, 3.4.1-3.4.5|
|10||3/2||MPI - III||3.4.6-3.5|
|11||3/4||MPI - IV||3.7|
|12||3/9||MPI - Last Touch|
midterm Spring 14 Sol
|3/16||No class - Spring recess|
|3/18||No class - Spring recess|
|15||3/30||OpenMP - II||5.3, 5.4, 5.5|
|16||4/1||OpenMP - III & OpenMP - IV||5.6, 5.7, 5.8|
|17||4/6||OpenMP- Last Touch||5.9|
|18||4/8||GPUs - Intro|
|19||4/13||CUDA - I|
|20||4/15||CUDA - II|
|21||4/20||CUDA - III|
|22||4/22||CUDA - IV|
|23||4/27||CUDA - V|
|24||4/29||CUDA - VI|
|25||5/4||CUDA - Last Touch|
|26||5/6||CUDA - Last Touch|
Practice Problems sol
Final Spring 2014 sol
4. cp -r /usr/local/pkg/cuda
5. cd ~/nvidia_sdk
7. cd bin/linux/release
After that, each time you need to do CUDA programming, you need onlu to do steps 1 and 2.
Interesting Links (Geeky stuff )
If you have an interesting link, please email it to the instructor and it will find its way to this page.Top500 Supercomputers in the world