Introduction to Julia for High Performance Computing

Europe/Berlin
Building: 133, Room: 1.03 (1st floor), Weyertal 121, IT Center University of Cologne (ITCC) and online

Building: 133, Room: 1.03 (1st floor), Weyertal 121, IT Center University of Cologne (ITCC) and online

Description

Julia Logo in front of PC2 Otus cluster

This course introduces Julia as a modern, expressive, and high-performance programming language that bridges the gap between productivity and computational efficiency. Participants will learn how to write elegant and performant code in Julia.

Topics

  • Programming fundamentals in Julia
  • Duck typing and multiple dispatch
  • Generic programming
  • Serial code optimization
  • SIMD vectorization
  • Multi-threaded parallelization
  • Distributed computing
  • GPU programming
  • Machine learning with Julia

Through interactive lectures, hands-on exercises, and Q&A sessions, participants will gain the knowledge and practical experiences to program Julia code efficiently on the state-of-the-art HPC systems at the Paderborn Center for Parallel Computing.

Speakers

  • Prof. Dr. Stefan Wesner (ITCC – IT Center University of Cologne)
  • Viktor Achter (ITCC – IT Center University of Cologne)
  • Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing)
  • Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)

Organizer

  • M.A. Jutta Schneider (ITCC – IT Center University of Cologne)

Prerequisites

  • Strong interest to dive into Julia (most important)
  • Basic knowledge in any programming languages
  • Ideally, familiarity with basic Julia syntax

Course Format

  • on-site in person (lectures, tutorials, and Q&A)
  • online course (only lectures)

Course Venue

  • For on-site participation

    Building: 133
    Room: 1.03 (1st Floor)
    Weyertal 121
    IT Center University of Cologne (ITCC)
    D-50931 Cologne
  • The campus map can be found here.

Additional Information

  • For the Hands-on Tutorial, please bring your own laptop (Windows, macOS, or Linux).
  • This course is free of cost for members of German universities or publicly-funded research institutions. Please register the course using your university/institution e-mail address.
  • The number of seats is limited and the allocation of seats is done by the organizer.

This course is funded by Paderborn Center for Parallel Computing (PC2), IT Center University of Cologne (ITCC)the NHR alliance, and the competence network HPC.nrw.

Registration
    • 9:00 AM 12:00 PM
      Day 1: Morning
      • 9:00 AM
        Welcome! 15m
        Speaker: Prof. Stefan Wesner (IT Center University of Cologne)
      • 9:15 AM
        Introduction to Julia for HPC 1h 30m
        Speaker: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing)
      • 10:45 AM
        Break 15m
      • 11:00 AM
        Hands-on: Basics in Julia 1h
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 12:00 PM 1:30 PM
      Lunch Break 1h 30m
    • 1:30 PM 5:00 PM
      Day 1: Afternoon
      • 1:30 PM
        Workflow in Julia 1h 30m
        Speaker: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing)
      • 3:00 PM
        Break 15m
      • 3:15 PM
        Fast Code 1h
        Speaker: Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
      • 4:15 PM
        Hands-on: Julia on HPC System 45m
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 6:30 PM 8:30 PM
      Social Dinner (self-paid): Venue TBD, near the ITCC, University of Cologne
    • 9:00 AM 12:00 PM
      Day 2: Morning
      • 9:00 AM
        Performance Optimization 1h 30m
        Speaker: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing)
      • 10:30 AM
        Break 15m
      • 10:45 AM
        Hands-on: Write Performant Julia Code 1h 15m
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 12:00 PM 1:30 PM
      Lunch Break 1h 30m
    • 1:30 PM 5:00 PM
      Day 2: Afternoon
      • 1:30 PM
        HPC Tour at IT Center University of Cologne 1h 30m
        Speaker: Viktor Achter (IT Center University of Cologne)
      • 3:00 PM
        Multi-threading in Julia 1h
        Speaker: Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
      • 4:00 PM
        Hands-on: Multi-threaded Julia Code 1h
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 9:00 AM 12:00 PM
      Day 3: Morning
      • 9:00 AM
        Distributed Computing in Julia 1h 30m
        Speaker: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing)
      • 10:30 AM
        Break 15m
      • 10:45 AM
        Hands-on: Parallel Julia code 1h 15m
        Speakers: Alex Wien (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 12:00 PM 1:30 PM
      Lunch Break 1h 30m
    • 1:30 PM 5:00 PM
      Day 3: Afternoon
      • 1:30 PM
        GPU Programming 1h 30m
        Speaker: Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
      • 3:00 PM
        Break 20m
      • 3:20 PM
        Hands-on: GPU-accelerated Julia Code 1h 40m
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
    • 9:00 AM 12:00 PM
      Day 4: Morning
      • 9:00 AM
        Machine Learning in Julia 1h
        Speaker: Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
      • 10:00 AM
        Break 20m
      • 10:20 AM
        Hands-on: Machine Learning with Flux.jl 1h 10m
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)
      • 11:30 AM
        Q&A for Julia on HPC 30m
        Speakers: Alex Wiens (Paderborn University, Paderborn Center for Parallel Computing) , Xin Wu (Paderborn University, Paderborn Center for Parallel Computing)