Requisite(s): 35281 Numerical Methods
Many quantitative problems, such as the pricing of exotic financial options or modelling large-scale ecological systems, cannot be solved analytically. Instead, computational solutions must be found, sometimes by methods that require high-performance parallel computers or grid computing techniques. This subject introduces students to the structure and characteristics of the major types of parallel computer systems and to methods for the design and implementation of parallel numerical codes in a modern scientific programming language. Topics include: the Fortran 95 language including arrays and array operations; procedures and interface blocks, modules, recursive procedures, pointers and dynamic data structures; practicalities of programming in a batch environment; debugging; checkpointing; the MPI library and MIMD programming in a distributed memory environment; OpenMP and shared memory MIMD programming with thread.
Autumn Semester, City campus