High Performance Computing (HPC) and GPGPU
The course will give a good introduction to the current High Performance Computing platforms, workstations, like grids, multi-core CPUs from intel and AMD, and GPUs which became affordable in the commodity market at incredible cost, yet high performance. It also covers the basic theory of some HPC topics like Amdahl's law, speed up, UMA and NUMA architectures, GPU architecture for GPGPU, and others ...
Also, it includes a session on SOFTWARE DEVELOPMENT PROCESS to elaborate how can you make a complete customer-oriented software design to achieve the desired product at the desired time with the available resources. This will be explained on one of the most famous and well defined software development processes, it is the Agile SWDP.
Then, it will go deeper to demonstrate the basic architecture of the new GPUs and how these GPUs superseded the CPUs' performance in terms of GFLOPS, memory bandwidth and latency. Finally, a practical session that includes the new API released by NVIDIA, COMPUTE UNIFIED DEVICE ARCHITECTURE or CUDA will be held to show how to implement a basic kernel on the GPU to exploit the basic parallel scalability of this amazing, yet, micro-workstation.
National Institute of Laser Enhanced Science, Cairo University
One Week (July 2010, 4-9)
Course Sessions & Notes
Session 1 : Introduction to Software Development Process
Session 2 : GPU Computing & CUDA
Session 3: CUDA GPU HPC Computing
Additional Materials, Reading Lists & Links
Session 1 (Introduction to Software Development Process)
* Agile Project Management
* Assessing Readiness for Agile Adoption using a Practical and Innovative Approach
* Agile Software Development
Session 2 (GPU Computing & CUDA)
* CUDA Zone
* Introduction to CUDA