NERSCPowering Scientific Discovery for 50 Years

Codee Training Series: Write Accelerated Code at Expert Level, Apr 25-26, 2023

April 25, 2023

Introduction

Appentra's Codee Analyzer is a programming development tool for C/C++/Fortran parallel codes on multicore CPUs and GPUs using OpenMP and OpenACC. One great feature of the Codee Analyzer Tool is that it can automatically insert OpenMP or OpenACC directives in your codes to run on CPUs or offload to accelerator devices such as GPUs, so that novice programmers can write codes at the expert level. This programming developer tool also provides code inspections for debugging and improving OpenMP/OpenACC programming on GPUs with a systematic, more predictable approach that leverages parallel programming best practices.

Codee staff will present a 2-part Codee training series intended to help new and existing programmers understand best practices for CPU and GPU using OpenMP and OpenACC, on April 25-26, 2023.

Part one will include a quick presentation of the Codee command-line tools using as a guide several well-known C/C++/Fortran codes that can be accelerated on CPU and GPU through the tips documented in the open catalog of performance optimization best practices available on the Codee website. The session will consist of short demos and hands-on exercises with step-by-step guides on Perlmutter.

Part two will showcase the Codee command line tools using MBedTLS (a library of cryptographic codes) and ZPIC (a particle-in-cell code), focusing on CPU and GPU programming challenges that appear frequently in real scientific and engineering applications. Users can also bring their own codes to explore using Codee for Part 2. The list of topics is shown in the table below.

OLCF and ALCF users are welcome to this training. NERSC training accounts will be provided if needed.

Date and Time: 9 am - 12:30 pm (Pacific time), Tue - Wed, April 25-26, 2023

The format of this event will be online only via Zoom. 

Schedule

Part, Date & Time Topic and Format

Part 1, Tue, Apr 25

9:00 am - 12:30 pm PDT

Codee: Automated code inspection for performance
  • Codee command-line tools
  • Open catalog of C/C++/Fortran performance optimization best practices for CPU and GPU
  • Challenges of PI, MATMUL, HEAT, LULESHmk, ATMUX
  • Development of parallel codes with best practice recommendations
Format: Remote demos, hands-on, and homework exercises

Part 2, Wed, Apr 26

9:00 am - 12:30 pm PST
Accelerating MBedTLS and Guided Parallelization of ZPIC and NUCCOR with Codee
  • Putting it all together in real codes through Codee automation
  • MBedTLS: cryptographic codes
  • ZPIC code: Particle-in-Cell (PIC) code
  • NUCCOR Fortran code
  • Bring your own applications
Format:  Remote demos and hands-on

Registration

Please use this form to register. 

Presentation Materials

  • Slides and example codes are attached below
  • Video Recordings as a playlist on NERSC YouTube channel

Downloads