Codee Training: Write Accelerated Code at Expert Level, Sept 5-6, 2024
Introduction
Codee is a programming development tool for Fortran/C/C++ that facilitates the development of modern, parallel codes for multicore CPUs and GPUs using OpenMP and OpenACC. Leveraging the first Open Catalog of Best Practices for Modernization and Optimization, Codee identifies opportunities for improvement and provides detailed guidance on how to effectively exploit them. A standout feature is its ability to insert OpenMP and OpenACC directives, enabling even novice programmers to write expert-level parallel code for CPUs and GPUs in Fortran/C/C++. Additionally, Codee helps developers uncover hidden bugs, avoid introducing new ones, and pinpoint code optimization suggestions. As a result, Codee facilitates the maintenance and optimization of large Fortran/C/C++ codes, while ensuring code correctness and reliability. Codee also has the ability to automatically rewrite Fortran code to enforce Fortran modernization best practices, which is strongly recommended by experts before starting code optimization efforts.
This two-part training, scheduled for September 5-6th, aims to familiarize both novice and seasoned programmers with the usage of Codee to modernize and optimize their codes following best parallel programming practices for CPUs and GPUs with OpenMP and OpenACC.
Part One (September 5th): Participants will learn about the capabilities of Codee, including short demos on different Fortran/C/C++ codes accelerated on both CPUs and GPUs. The session includes practical exercises with step-by-step instructions on Perlmutter.
Part Two (September 6th): This session will demonstrate how to use Codee for large projects, how to use Codee for automated testing in Perlmutter, and provide new hands-on exercises. Participants are also encouraged to bring their own codes for guidance on leveraging Codee’s potential.
This training is open to OLCF and ALCF users. NERSC training accounts will be provided if needed.
Date and Time
This training will take place online, via Zoom, on Thursday-Friday, September 5-6th, from 9:00 am to 12:30 pm (Pacific Daylight Time).
Schedule
Part, Date & Time | Topic and Format |
---|---|
Part 1, Thur, Sept 5 9:00 am - 12:30 pm PDT |
Codee: Automated Code Inspection for Modernization and Optimization
|
Part 2, Fri, Sept 6 9:00 am - 12:30 pm PDT |
Codee: Automated Analysis of Large-Scale Fortran/C/C++ Codes
Format: Remote lecture, demos, and hands-on |
Registration
Please use this form to register.
Presentation Materials
- Open catalog: https://github.com/codee-com/codee-demos.git
- Demos: https://github.com/codee-com/codee-demos.git
- Slides: please see attached below
- Video as a Playlist on NERSC YouTube channel
Downloads
-
NERSC_Welcome_Codee_Sept2024.pdf | Adobe Acrobat PDF file
-
Codee_NERSC2024_Day1_Slides.pdf | Adobe Acrobat PDF file
-
Codee_NERSC2024_Day2_CompileCommands.pdf | Adobe Acrobat PDF file
-
Codee_NERSC2024_Day2_CICD.pdf | Adobe Acrobat PDF file
-
WRF_Codee_training_2024.pdf | Adobe Acrobat PDF file