Codee is a developer tool that helps produce high-quality, optimized code. In our introductory webinar, we explored how to use Codee’s AutoFix feature to automatically accelerate computational kernels on CPUs and GPUs via directives and language-specific constructs. This advanced session will delve deeper into Codee’s advanced capabilities for code optimization, such as loop and variable scoping, dependency analysis, and directive verification.
Developers will learn how to instruct Codee to report precise information to enable loop-level parallelism. This includes the suggestion of OpenMP/OpenACC data scoping clauses for the variables of a loop (e.g. private, shared, reduction, lastprivate, firstprivate), OpenMP/OpenACC data transfer clauses (e.g. copyin, copyout, map to/from), the identification of dependency patterns (e.g. read-only, write-only, read/write, forall, scalar reduction, sparse reduction), and the verification of existing OpenMP/OpenACC pragmas for common issues such as data races and CPU-GPU transfer errors. We will also demonstrate how Codee integrates into modern software development workflows (e.g., integrations with common editors, version control systems, and CI/CD systems), and showcase Codee’s capabilities for enhancing code quality, covering aspects such as formatting, correctness, modernization, portability, and security. We will showcase Codee on multiple C/C++ and Fortran codes from the Open Catalog of Code Guidelines and well-known open-source projects like WRF, GAMESS, and ZPIC.
The webinar will last 90 minutes, followed by a 30-minute live Q&A.
Registration
Please register online for the webinar. Calendar invitations will be sent prior to the event.