High Performance Computing in Life Science
Overall Course Objectives
Empowering the student from developing software on a personal computer to designing and implementing life science projects on super computers.
See course description in Danish
Learning Objectives
- improve performance of a program by applying acquired knowledge of how a PC and a supercomputer works from a hardware perspective (similarities and differences).
- design programs and pipelines which use a queuing system efficiently in various ways.
- evaluate the efficiency of a program or pipeline by analyzing the use of IO and memory.
- implement trivial parallel program execution on a node/computer.
- apply the ‘Divide and Conquer’ paradigm in a concrete case of Branch&Bound combinatoric optimization.
- evaluate if binary and/or probabilistic data structures can increase program performance and implement these data structures.
- design a database from real data and/or models.
- use SQL to query and manipulate a database.
- program against a relational database in Python.
- organize a project such that the road from raw data to result is clear and reproducible.
Course Content
The course empowers the student from being the only user on a single computer to be one of many users on a supercomputer. This is done by lectures and exercises on topics such as computer architecture, queueing systems, parallel programming, algorithm design, program optimization, database design and application in theory and practice. Different life science cases are used in the teaching.
Teaching Method
Lectures and computer exercises
Faculty
Remarks
The course uses the supercomputer ‘Computerome 2’ among others as a platform for the exercises.
Limited number of seats
Minimum: 8, Maximum: 50.
Please be aware that this course has a minimum requirement for the number of participants needed, in order for it to be held. If these requirements are not met, then the course will not be held. Furthermore, there is a limited number of seats available. If there are too many applicants, a pool will be created for the remainder of the qualified applicants, and they will be selected at random. You will be informed 8 days before the start of the course, whether you have been allocated a spot.