Despite the advances in computing technology, we continue to need greater computing power to address important scientific questions. Because individual processors have reached their performance limits, the need for greater computing power can only be met through parallel computers. This course is intended for students interested in taking advantage of parallel and distributed computing by writing parallel code for processor-intensive applications to be run on clusters, the cloud, or shared infrastructure such as that provided by Compute Canada. The objectives of this course are to give the students an understanding of how they can use parallel computing in their research and enable them to write parallel code for their applications. Extensive use of practical examples from scientific computing will be made. The programming languages used will be Matlab and Fortran or C. Both the shared and distributed paradigms of parallel computing will be covered via the OpenMP and MPI libraries. Weekly hours: 3 Lecture hoursPermission of the Instructor is required. Note: Undergraduate courses in Basic Numerical Analysis and Computer Programming are recommended.
Despite the advances in computing technology, we continue to need greater computing power to address important scientific questions. Because individual processors have reached their performance limits, the need for greater computing power can only be met through parallel computers. This course is intended for students interested in taking advantage of parallel and distributed computing by writing parallel code for processor-intensive applications to be run on clusters, the cloud, or shared infrastructure such as that provided by Compute Canada. The objectives of this course are to give the students an understanding of how they can use parallel computing in their research and enable them to write parallel code for their applications. Extensive use of practical examples from scientific computing will be made. The programming languages used will be Matlab and Fortran or C. Both the shared and distributed paradigms of parallel computing will be covered via the OpenMP and MPI libraries. Weekly hours: 3 Lecture hoursPermission of the Instructor is required. Note: Undergraduate courses in Basic Numerical Analysis and Computer Programming are recommended.