22112 High Performance Computing in Life Science
Teacher: Peter Wad Sackett, pwsa@dtu.dk
Language: The course is taught in English.
Tools: Various servers will be introduced.
Textbooks: There are no text books for the course. I will make do with powerpoints, videos and references to online resources. You can find the material under the individual lessons in the Programme.
Location: Building 358, room 60b.
Time: Thursday 13:00 - 17:00, module E1-B.
Course details
Course content overview
The course is a practical introduction to working with supercomputers in Life Science. Using both "ordinary" servers and Computerome, the Danish National Supercomputer for Life Sciences as a basis for lectures and exercises, we will cover subjects such as computer design, queueing systems, distributed computing, algorithms, parallel programming, performance and performance dependencies, database design and use, and practical organization of projects.
Aligning expectations Mandatory read at course start
Programme
Prerequisite knowledge
Being comfortable with using the Unix shell and being able to navigate the file system is required. No help will be forthcoming on the subject on a basic level, only advanced Unix tools and concepts will be discussed and that only as a side note. Consult this unix tutorial and or this lesson in Unix.
Having a good skill in Python programming is mandatory. A course like 22113/22163 should enable you to participate.
About exercises
There will be weekly exercises, which have to be handed in after 7 days on DTU Learn and peer evaluated the week after. A link to DTU Learn can also be found on DTU Inside for the course. You can only peer evaluate if you have handed in, and at you must have at least 11 out of 13 acceptable (by the teacher) hand-ins and evaluations to participate in the exam. The course is graded as pass/fail based on the exam.
The hand-in must be runnable code, when the exercise is making programs. Sometimes you are asked to evaluate different methods, then text or pdf can be added to the hand-in.
Progression of a typical course week
We will have normal class based teaching. Online only in case of force majeure.
There are videos for each lesson, which can be used as later reference.
Class based
- We meet in class at Monday 13:00.
- I lecture over the powerpoint and your questions.
- We (you, actually) do exercises.
Online
- Watch lecture videos before the module starts Monday at 13.00
- Go to Discord (link found at DTU Learn) for the class Monday at 13:00.
- We start out with questions and preparation for the week, followed by walkthrough of last weeks exercises.
- The remaining time is used for doing exercises and asking questions/getting help. There will be no TA's.
Common for both
- Monday: Solutions to previous weeks exercises will have been published at DTU Learn, Discussions forum.
- Friday (deadline; midnight) you do the peer evaluation of previous weeks exercises.
- Sunday (deadline; midnight) you upload the exercises for this week.
Lessons, Fall 2023
- 28/08 Lesson 1: Databases
- 04/09 Lesson 2: MySQL
- 11/09 Lesson 3: Coding against databases
- 18/09 Lesson 4: Computer design
- 25/09 Lesson 5: Queueing System
- 02/10 Lesson 6: Distributed computing, Midterm evaluation - part 1
- 09/10 Lesson 7: What affects performance, Midterm evaluation - part 2
- 23/10 Lesson 8: Algorithms
- 30/10 Lesson 9: Parallel programming
- 06/11 Lesson 10: More parallelism
- 13/11 Lesson 11: MapReduce and Binary representation
- 20/11 Lesson 12: Hash usage
- 27/11 Lesson 13: Exercises and Organization