{"course":{"productid":34486,"modality":6,"active":true,"language":"fr","title":"Fundamentals of Accelerated Computing with OpenACC","productcode":"FACO","vendorcode":"NV","vendorname":"Nvidia","fullproductcode":"NV-FACO","courseware":{"has_ekit":false,"has_printkit":true,"language":""},"url":"https:\/\/portal.flane.ch\/course\/nvidia-faco","objective":"<ul>\n<li>Profile and optimize your CPU-only applications to identify hot spots for acceleration.<\/li><li>Use OpenACC directives to GPU-accelerate your codebase.<\/li><li>Optimize data movement between the CPU and GPU accelerator.<\/li><\/ul>","essentials":"<ul>\n<li>Basic C\/C++ or Fortran competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations.<\/li><li>No previous knowledge of GPU programming is assumed.<\/li><\/ul>","outline":"<p><strong>Introduction<\/strong>\t\n<\/p>\n<ul>\n<li>Meet the instructor.<\/li><li>Create an account at courses.nvidia.com\/join<\/li><\/ul><p><strong>Introduction to Parallel Programming<\/strong>\t\n<\/p>\n<ul>\n<li>Learn about parallelism in a conceptual way, as well as how to express it with OpenACC. Topics that will be covered are as follows:<ul>\n<li>Introduction to parallelism<\/li><li>The goals of OpenACC<\/li><li>Basic parallelization of code using OpenACC<\/li><\/ul><\/li><\/ul><p><strong>Profiling with OpenACC<\/strong>\t\n<\/p>\n<ul>\n<li>Learn how to build and compile an OpenACC code, the importance of profiling, and how to use the NVIDIA Nsight&trade; Systems profiler. Topics that will be covered are as follows:<ul>\n<li>Compiling sequential and OpenACC code<\/li><li>The importance of code profiling<\/li><li>Profiling sequential and OpenACC multicore code<\/li><li>Technical introduction to the code used in introductory modules<\/li><\/ul><\/li><\/ul><p><strong>Introduction to OpenACC Directives<\/strong>\t\n<\/p>\n<ul>\n<li>Learn how to parallelize your code with OpenACC directives and understand the differences between parallel, kernel, and loop directives. Topics that will be covered are as follows:<ul>\n<li>The Parallel directive<\/li><li>The Kernels directive<\/li><li>The Loop directive<\/li><\/ul><\/li><\/ul><p><strong>GPU Programming with OpenACC<\/strong>\t\n<\/p>\n<ul>\n<li>Learn about the differences between GPUs and multicore CPUs, and manage memory with CUDA Unified Memory. Topics that will be covered are as follows:<ul>\n<li>Definition of a GPU<\/li><li>Basic OpenACC data management<\/li><li>CUDA Unified Memory<\/li><li>Profiling GPU applications<\/li><\/ul><\/li><\/ul><p><strong>Data Management with OpenACC<\/strong>\t\n<\/p>\n<ul>\n<li>Learn how to explicitly manage data movement with OpenACC data directives to reduce data transfers. Topics that will be covered are as follows:<ul>\n<li>OpenACC data directive\/clauses<\/li><li>OpenACC structured data region<\/li><li>OpenACC unstructured data region<\/li><li>OpenACC update directive<\/li><li>Data management with C\/C++ Structs\/Classes<\/li><\/ul><\/li><\/ul><p><strong>Loop Optimizations with OpenACC<\/strong>\t\n<\/p>\n<ul>\n<li>Understand the various levels of parallelism on a GPU and learn ways to extract more parallelism with OpenACC by optimizing loops in your code. Topics that will be covered are as follows:<ul>\n<li>Seq\/Auto clause<\/li><li>Independent clause<\/li><li>Reduction clause<\/li><li>Collapse clause<\/li><li>Tile clause<\/li><li>Gang, Worker, Vector<\/li><\/ul><\/li><\/ul><p><strong>Final Review<\/strong>\t\n<\/p>\n<ul>\n<li>Review key learnings and answer questions.<\/li><li>Complete the assessment and earn a certificate.<\/li><li>Complete the workshop survey.<\/li><\/ul>","summary":"<p>Learn the basics of OpenACC, a high-level programming language for programming on GPUs. This course is for anyone with some C\/C++ of Fortran experience who is interested in accelerating the performance of their applications beyond the limits of CPU-only programming. In this course, you&rsquo;ll learn: \n<\/p>\n<ul>\n<li>How to profile and optimize your CPU-only applications to identify hot spots for acceleration<\/li><li>How to use OpenACC directives to GPU accelerate your codebase<\/li><li>How to optimize data movement between the CPU and GPU accelerator<\/li><\/ul><p>Upon completion, you&#039;ll be ready to use OpenACC to GPU accelerate CPU-only applications.<\/p>\n<p><em>Please note that once a booking has been confirmed, it is non-refundable. This means that after you have confirmed your seat for an event, it cannot be cancelled and no refund will be issued, regardless of attendance.<\/em><\/p>","objective_plain":"- Profile and optimize your CPU-only applications to identify hot spots for acceleration.\n- Use OpenACC directives to GPU-accelerate your codebase.\n- Optimize data movement between the CPU and GPU accelerator.","essentials_plain":"- Basic C\/C++ or Fortran competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations.\n- No previous knowledge of GPU programming is assumed.","outline_plain":"Introduction\t\n\n\n\n- Meet the instructor.\n- Create an account at courses.nvidia.com\/join\nIntroduction to Parallel Programming\t\n\n\n\n- Learn about parallelism in a conceptual way, as well as how to express it with OpenACC. Topics that will be covered are as follows:\n- Introduction to parallelism\n- The goals of OpenACC\n- Basic parallelization of code using OpenACC\nProfiling with OpenACC\t\n\n\n\n- Learn how to build and compile an OpenACC code, the importance of profiling, and how to use the NVIDIA Nsight\u2122 Systems profiler. Topics that will be covered are as follows:\n- Compiling sequential and OpenACC code\n- The importance of code profiling\n- Profiling sequential and OpenACC multicore code\n- Technical introduction to the code used in introductory modules\nIntroduction to OpenACC Directives\t\n\n\n\n- Learn how to parallelize your code with OpenACC directives and understand the differences between parallel, kernel, and loop directives. Topics that will be covered are as follows:\n- The Parallel directive\n- The Kernels directive\n- The Loop directive\nGPU Programming with OpenACC\t\n\n\n\n- Learn about the differences between GPUs and multicore CPUs, and manage memory with CUDA Unified Memory. Topics that will be covered are as follows:\n- Definition of a GPU\n- Basic OpenACC data management\n- CUDA Unified Memory\n- Profiling GPU applications\nData Management with OpenACC\t\n\n\n\n- Learn how to explicitly manage data movement with OpenACC data directives to reduce data transfers. Topics that will be covered are as follows:\n- OpenACC data directive\/clauses\n- OpenACC structured data region\n- OpenACC unstructured data region\n- OpenACC update directive\n- Data management with C\/C++ Structs\/Classes\nLoop Optimizations with OpenACC\t\n\n\n\n- Understand the various levels of parallelism on a GPU and learn ways to extract more parallelism with OpenACC by optimizing loops in your code. Topics that will be covered are as follows:\n- Seq\/Auto clause\n- Independent clause\n- Reduction clause\n- Collapse clause\n- Tile clause\n- Gang, Worker, Vector\nFinal Review\t\n\n\n\n- Review key learnings and answer questions.\n- Complete the assessment and earn a certificate.\n- Complete the workshop survey.","summary_plain":"Learn the basics of OpenACC, a high-level programming language for programming on GPUs. This course is for anyone with some C\/C++ of Fortran experience who is interested in accelerating the performance of their applications beyond the limits of CPU-only programming. In this course, you\u2019ll learn: \n\n\n\n- How to profile and optimize your CPU-only applications to identify hot spots for acceleration\n- How to use OpenACC directives to GPU accelerate your codebase\n- How to optimize data movement between the CPU and GPU accelerator\nUpon completion, you'll be ready to use OpenACC to GPU accelerate CPU-only applications.\n\nPlease note that once a booking has been confirmed, it is non-refundable. This means that after you have confirmed your seat for an event, it cannot be cancelled and no refund will be issued, regardless of attendance.","skill_level":"Beginner","version":"1.0","duration":{"unit":"d","value":1,"formatted":"1 jour"},"pricelist":{"List Price":{"US":{"country":"US","currency":"USD","taxrate":null,"price":500},"DE":{"country":"DE","currency":"EUR","taxrate":19,"price":500},"AT":{"country":"AT","currency":"EUR","taxrate":20,"price":500},"SE":{"country":"SE","currency":"EUR","taxrate":25,"price":500},"SI":{"country":"SI","currency":"EUR","taxrate":20,"price":500},"GB":{"country":"GB","currency":"GBP","taxrate":20,"price":420},"IT":{"country":"IT","currency":"EUR","taxrate":20,"price":500},"CA":{"country":"CA","currency":"CAD","taxrate":null,"price":690}}},"lastchanged":"2025-07-29T12:18:27+02:00","parenturl":"https:\/\/portal.flane.ch\/swisscom\/fr\/json-courses","nexturl_course_schedule":"https:\/\/portal.flane.ch\/swisscom\/fr\/json-course-schedule\/34486","source_lang":"fr","source":"https:\/\/portal.flane.ch\/swisscom\/fr\/json-course\/nvidia-faco"}}