GPU programming IV-VI: exercises Basics of HIP programming Hello world Kernel: saxpy Kernel: copy2d Synchronisation and streams Investigating streams and events Memory management Memory management strategies Unified memory and structs Fortran and HIP Hipfort: saxpy Multi-GPU programming Vector sum on two GPUs without MPI Ping-pong with multiple GPUs and MPI Peer to peer device access Bonus: Heat equation with HIP