Course Outline

Introduction

  • What is OpenACC?
  • Comparison of OpenACC, OpenCL, CUDA, and SYCL for government applications
  • Overview of OpenACC features and architecture for government use
  • Setting up the development environment for government projects

Getting Started

  • Creating an OpenACC project in Visual Studio Code for government
  • Exploring project structure and files for government
  • Compiling and running the program for government applications
  • Displaying output with printf and fprintf for government use

OpenACC Directives and Clauses

  • Understanding OpenACC directives and clauses for government
  • Using parallel directives to create parallel regions for government tasks
  • Utilizing kernels directives for compiler-managed parallelism in government applications
  • Parallelizing loops with loop directives for enhanced government performance
  • Managing data movement with data directives for efficient government operations
  • Synchronizing data with update directives for consistent government results
  • Improving data reuse with cache directives for optimized government processes
  • Creating device functions with routine directives for specialized government tasks
  • Synchronizing events with wait directives for reliable government execution

OpenACC API

  • Understanding the role of OpenACC API in government applications
  • Querying device information and capabilities for government use
  • Setting device number and type for government configurations
  • Handling errors and exceptions for robust government systems
  • Creating and synchronizing events for seamless government operations

OpenACC Libraries and Interoperability

  • Understanding OpenACC libraries and interoperability for government projects
  • Using math, random, and complex libraries in government applications
  • Integrating with other models (CUDA, OpenMP, MPI) for comprehensive government solutions
  • Integrating with GPU libraries (cuBLAS, cuFFT) for enhanced government performance

OpenACC Tools

  • Understanding OpenACC tools in development for government use
  • Profiling and debugging OpenACC programs for government applications
  • Performance analysis with PGI Compiler, NVIDIA Nsight Systems, Allinea Forge for government projects

Optimization

  • Factors affecting OpenACC program performance for government
  • Optimizing data locality and reducing transfers for efficient government operations
  • Optimizing loop parallelism and fusion for enhanced government performance
  • Optimizing kernel parallelism and fusion for improved government efficiency
  • Optimizing vectorization and auto-tuning for optimal government results

Summary and Next Steps

Requirements

  • An understanding of C/C++ or Fortran languages and parallel programming concepts
  • Basic knowledge of computer architecture and memory hierarchy
  • Experience with command-line tools and code editors

Audience

  • Developers who seek to learn how to use OpenACC to program heterogeneous devices and leverage their parallelism for government applications
  • Developers interested in writing portable and scalable code that can run on various platforms and devices
  • Programmers aiming to explore high-level aspects of heterogeneous programming and enhance their code productivity
 28 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories