### UCD School of Mathematics and Statistics Undergraduate Summer School in High-Performance Computing and Data Visualization

*** This is an old event. The materials on this page are left here for archival purposes only. ***

I shall be running a UCD-Mathematical Sciences summer school on high-performance computing and data visualization in summer 2013. I am aiming the programme at penultimate-year undergraduate students, although students in other years may be admitted in exceptional circumstances. All students (UCD and non-UCD) from numerate disciplines are invited! The application deadline is now passed - watch this page for lecture notes and other course materials.

### Course details

- Dates: 27 May -31 May 2013
- Fee: None
- Venue: UCD School of Mathematics and Statistics, Computer lab TBC

**Scope of summer school:** With increasing computational power available even on desktop level, opportunities for simulating large-scale physical, biological and social systems are ubiquitous. Moreover, as the scale and scope of simulations increase, the challenge of handling ever-larger data sets becomes immense. This challenge is amplified by the phenomenon of "big data" - the generation of more and more data as the internet permeates our lives, and the possibility of a "data wall", should the rate of data generation outstrip our capacity to interpret this information. The object of this module is to study high-performance computing at elementary level (along with standard data I/O) operations, and to interpret the resulting large data files in an automated fashion using batch-processing techniques that can be implemented in Matlab.

**Learning Outcomes:** On completion of the module, students should

- Be able to write elementary programs in Fortran, including subroutines, and compiler linking
- Be able to handle data I/O in Fortran
- Be able to implement multi-threading in Fortran
- Be familiar with the theory of multi-threading, the pitfalls in its implementation, and its limitations with respect to computer architecture
- Be able to automate data post-processing from Fortran simulations in Matlab, including Matlab I/O, visualization (e.g. 3D isosurfaces, contour plotting, animations), and statistical post-processing
- Be familiar with the pitfalls associated with data-processing of weakly-structured files

**Prerequisites:**
Students must have taken ACM 20030 or its non-UCD equivalent and have a working knowledge of Matlab. No prior knowledge of Fortran of the Linux operating system is assumed, although some knowledge of these areas would be helpful.

**Assessment:**
No assessment takes place in the summer school. Students who complete the school satisfactorily will receive a certificate of attendance.

### Course Materials

- Lecture notes (These are subject to change and have not yet been proofread thoroughly.)
- Exercises: Relaxation to the Poisson problem using Poincare and Gronwall inequalities
- Matlab codes for the model Poisson problem
- Matlab codes for the model diffusion problem
- Fortran codes for the model Poisson problem
- Fortran codes with multi-threading, model Poisson problem
- Model Poisson problem in three dimensions
- Big data files

Model answers for the homeworks can be found by digging in this directory. However, you should try and do these assignments yourself first!