Skip to main content »

Trinity College Dublin

Course Descriptions

This page details the Course Descriptions for our various training courses.

Introduction to TCHPC Systems — Course Description

This half-day course is suitable for students and researchers who are new to TCHPC, and have little experience with resource management software and batch queueing systems, such as SLURM and MAUI.

You may also find this course beneficial if you have used the PBS/Torque batch software previously, and would like to find out how to convert your submissions scripts to SLURM.

Among the topics covered will be:

  • Systems and Services available at TCHPC.
  • Access to our systems.
  • Module Environment.
  • Resource Allocation.
  • Job submission and monitoring.
  • Scheduling and QOS policies.

Introduction to Linux — Course Description

This course (taught over 4 half-day sessions) is suitable for students and researchers who wish to use Linux in their research but who have little experience of it.

Among the topics covered will be:

  • Use of the command line
  • Customising the shell
  • File and directory management
  • Basic text editing
  • Useful commands and utilities
  • Text processing

Introduction to Bash Shell Scripting — Course Description

This course (taught over 1 half-day session) is suitable for students and researchers who have some experience with the Linux command-line shell, but would like to get more out of it and use it more efficiently.

Among the topics covered will be:

  • Basic bash script syntax
  • Variables
  • Conditionals
  • Loops
  • Useful shell commands
  • Intro to sed and awk

Software Engineering — Course Description

This course (taught over 4 half-day session) is suitable for students and researchers who have some experience with programming, but would like to be more structured in their approach to writing code, and be more time-efficient. The coursework is presented in C, but can be applicable to other programming languages.

Among the topics covered will be:

  • Using Makefiles for automated builds
  • Using Git for Version Control
  • Debugging tools for C code
  • Profiling tools for C code

Introduction to Parallel Programming — Course Description

This course will cover the fundamentals of parallel programming. We will discuss both MPI and OpenMP programming paradigms and consider various approaches to parallelising your applications. We will also write some simple parallel programs to run on TCHPC systems.

Introduction to Scientific Visualisation — Course Description

This half-day course is suitable for students and researchers who want to learn more about basic scientific visualisation techniques. A general introduction will be given, focusing on different types of datasets and different techniques that can be used to visualize them. The course will not focus in any particular visualisation package, as each one of them is too specific.

You may also find this course beneficial if you have are using any kind of visualisation software such as Amira, Pymol, Paraview, etc.

Among the topics covered will be:

  • Basic visualisation technical concepts.
  • Scientific visualisation techniques.
  • Dataset examples and solutions.
  • Commonly used software and showcases.
  • An overview of GPGPU
  • Introduction to the TCHPC visualisation hardware.

Introduction to CUDA — Course Description

This course (taught over 4 half-day sessions) is suitable for students and researchers who want to learn how to use the NVIDIA (tm) CUDA C library to conduct GPGPU computing on graphics cards. A general introduction will be given, and then the course will focus on the hardware of the graphic cards, and how to use that knowledge to your advantage by using specific library calls and different parts of the memory.

You may also find this course beneficial if you already have experience with other parallel libraries such as MPI or OpenMP.

Among the topics covered will be:

  • Introduction to CUDA.
  • Different kinds of GPU memory and function calls.
  • Installing the CUDA SDK
  • How to access the CUDA machines and queue in TCHPC
  • Basic CUDA programming
  • Advanced CUDA programming

An Introduction to Makefiles, and Version Control using Git — Course Description

This half-day course is suitable for students and researchers who want to learn more about the basic Software Engineering techniques: automated builds using Makefiles, and version control using Git. The course is given on a Linux platform, assuming basic knowledge of the Linux command-line.

Among the topics covered will be:

  • Introduction to Makefiles
  • Syntax of Makefiles: targets, dependencies and rules
  • Using variables in Makefiles
  • Overview of implicit Makefile rules
  • Introduction to Git
  • Setting up a repository
  • Working with a repository

Last updated 05 Feb 2014Contact TCHPC: info | support.