Introduction to Parallel Computing for Scientists and Engineers
Tariq Ahmad, University of Massachusetts, Amherst
Usage Details
Tariq AhmadParallel programming has come to limelight just like dumb terminals have with cloud computing. With multicore desktops/servers around and increase in the number of cores such as MIC, hybrid architectures integrating GPUs and FPGAs, there is no choice but to learn to program these many cores using parallel computing. It is no longer possible to write faster code without knowing the details of the underlying parallel hardware. Writing scalable code on such machines is not trivial and takes multiple iterations to converge to an optimal solution. We propose a senior undergraduate and beginning graduate level course focusing on teaching foundations of parallel computing by appreciating choice of vast underlying hardware, programming paradigms and compilers. The course will demonstrate how parallel computing can be used to run large scale simulations and big data queries on a single node or across multiple nodes.