Workshops

We provide workshops to help lift the technical competency of your staff through the adoption of cutting edge tools and technologies. Not everybody prefers group learning, so we have options for one-on-one training as well as group workshops. Have a browse through the available courses and see if there is one that meets your needs!

Available workshops

Getting Started with Python

Experience level:

For absolute beginners through to those who could do with a refresher.

Syllabus:

Getting started with Python is designed to provide an introduction to the basic syntax and feature set of Python. No prior programming experience is assumed, however an appetite to learn and work with computers will certainly help! In the course we cover the following topics:

  1. Introduction to Python, where it came from and why
  2. Using Jupyter notebooks for easy program development
  3. All essential Python functionality such as:
    • All the essential data types such as numbers, strings, lists, tuples and dictionaries
    • Making decisions with if statements and other flow control structures
    • Reading and writing to files
    • Making functions that do useful things within programs
    • Putting functions together into Python modules
If we have time we will do a challenging and fun exercise that is designed to solidify your knowledge.

Python for spreadsheets and databases

Experience level:

For intermediate users and higher.

Syllabus:

This is course is designed for intermediate Python users and those who have registered for the basic course Getting started with Python. We will explore the Pandas and SQLAlchemy libraries and how they can be useful for:

  1. Getting data in and out of Excel spreadsheets
  2. Processing data by row and column in a Pandas dataframe
  3. Plotting time-series data
  4. Connecting to relational databases in a way that transcends the myriad of SQL dialects
  5. Building and dropping tables
  6. Running SQL queries and filtering results
  7. Getting information in to and out of relational databases using the SQLAlchemy Object Relational Mapper

Python for Science

Experience level:

For intermediate users with a STEM background.

Syllabus:

This course is designed for intermediate Python users and those have registered for the basic course Getting started with Python. The course imparts a set of really useful skills for number crunching with Python, such as:

  1. Process data in multi-dimensional arrays using Numpy
  2. Explore the limitless capability of Matplotlib to Visualise 2D and 3D data
  3. Delve into the advanced science capabilites of the Scipy module, with examples in:
    • Integration and interpolation
    • Signal processing
    • Linear algebra and optimisation
    • Statistics
If there is time we will attempt a selection of advanced STEM-based exercises to offer students an opportunity to hone their craft.

Acclerated Computing with OpenCL

Experience level:

Advanced, requires knowledge of C/C++.

Syllabus:

Supercomputers make use of accelerators from a variety of different hardware vendors, using devices such as multi-core CPU’s, GPU’s and even FPGA’s. OpenCL is a way for your HPC application to make effective use of heterogeneous computing devices, and to avoid time-consuming code refactoring when moving to new HPC infrastructure. Over 4.5 days of training we cover everything required to be effective with OpenCL.

  1. Days 1-4 (6 hours per day)
    • Introduction to OpenCL - how it works
    • How to build and run applications with OpenCL and MPI
    • Matrix multiplication with OpenCL - fully explained line by line
    • How to debug OpenCL applications and kernels
    • Measure performance with OpenCL Events and open source tools
    • Memory management with OpenCL
    • Coarse and fine-grained shared memory
    • Coarse and fine-grained shared memory
    • Strategies for building fast OpenCL kernels
    • Optimise IO performance with asynchronous operations
  2. Day 5 (3 hours)
    • Programming challenge - choose your own adventure in working with OpenCL
    • - or -
    • Bring your own code and receive feedback and assistance

Accelerated computing with Python

Experience level:

Advanced users only: must be proficient in Python and comfortable with learning a small amount of C.

Syllabus:

GPU computing with Python is aimed at intermediate and advanced Python developers who need to accelerate parallelisable algorithms. Some of the core topics covered are as follows:

  1. Understanding how OpenCL and CUDA map work to compute devices.
  2. Managing memory on the compute device.
  3. Writing compute kernels to process data in Numpy arrays.
  4. Computing Fourier transforms over multi- dimensional arrays.
  5. Optimisation tips for getting the best out of kernels.
The day includes interactive exercises that are designed to solidify knowledge.

Accelerated computing with HIP

Experience level:

Advanced, a working knowledge of C++ is helpful

Syllabus:

The Heterogeneous Interface for Portability (HIP) provides a programming framework for harnessing the compute capabilities of multicore processors such as the AMD Instinct MI250 and MI300, in addition to NVIDIA GPU's. In this course we focus on the essentials of developing HIP applications with a focus on supercomputing. The workshop entails 4.5 days of training and includes everything you need to be effective with HIP.

  1. Days 1-4 (6 hours per day)
    • Introduction to HIP and high level features
    • How to build and run applications with HIP and MPI
    • A complete line-by-line walkthrough of a HIP-enabled application
    • Tools and techniques for debugging and measuring the performance of HIP applications
    • How to access different memory spaces from the host and the kernel.
    • Strategies for building performant HIP kernels
    • Optimise application performance with asynchronous IO
    • Tips and techniques for porting applications from CUDA to HIP
  2. Day 5 (3 hours)
    • Programming challenge - choose your own adventure in working with HIP
    • - or -
    • Bring your own code and receive feedback and assistance

Course delivery and logistics

All of our workshops are taught by example from instructors that really care about you and your staff, with close attention paid to maximising educational value. With regard to logistics we have a number of options available including:

  • On premises, where we come and teach the course using your facilities (By travel arrangement at an additional cost.).
  • Online via video conferencing (available worldwide).
In order to keep the educational quality high we keep class sizes in the range of 1-16 participants. A workshop can be repeated for as many times as necessary to cover your training needs. Workshops may be combined to create a tailored "boot camp" experience spanning several days.

Ready to commit?

So great to have you on the journey! If you would like to train online you can enrol in your nominated course using the "Enrol in class" buttons above. Pelagos will then contact you to organise the logistics. Otherwise, for a more tailored training experience contact Pelagos at the button below and we will be in touch soon!

Contact Pelagos