{"course":{"productid":34484,"modality":6,"active":true,"language":"en","title":"Fundamentals of Accelerated Computing with Modern CUDA C++","productcode":"FACCC","vendorcode":"NV","vendorname":"Nvidia","fullproductcode":"NV-FACCC","courseware":{"has_ekit":false,"has_printkit":true,"language":""},"url":"https:\/\/portal.flane.ch\/course\/nvidia-faccc","objective":"<p>At the conclusion of the workshop, you&#039;ll have an understanding of the fundamental concepts and techniques for accelerating C++ code with CUDA and be able to:\n<\/p>\n<ul>\n<li>Write and compile code that runs on the GPU<\/li><li>Optimize memory migration between CPU and GPU<\/li><li>Leverage powerful parallel algorithms that simplify adding GPU acceleration to your code<\/li><li>Implement your own parallel algorithms by directly programming GPUs with CUDA kernels<\/li><li>Utilize concurrent CUDA streams to overlap memory traffic with compute<\/li><li>Know where, when, and how to best add CUDA acceleration to existing CPU-only applications<\/li><\/ul>","essentials":"<ul>\n<li>Basic C++ competency, including familiarity with lambda expressions, loops, conditional statements, functions, standard algorithms and containers.<\/li><li>No previous knowledge of CUDA programming is assumed.<\/li><\/ul>","outline":"<p><strong>Introduction\t<\/strong>\n<\/p>\n<ul>\n<li>Meet the instructor.<\/li><li>Create an account at courses.nvidia.com\/join<\/li><\/ul><p>\n<strong>CUDA Made Easy: Accelerating Applications with Parallel Algorithms<\/strong><\/p>\n<p>To make your first steps in GPU programming as easy as possible, this lab teaches you how to leverage powerful parallel algorithms that make GPU acceleration of your code as easy as changing a few lines of code. While doing so, you&rsquo;ll learn fundamental concepts such as execution space and memory space, parallelism, heterogeneous computing, and kernel fusion. These concepts will serve as a foundation for your advancement in accelerated computing. By the time you complete this lab, you will be able to:\n<\/p>\n<ul>\n<li>Write, compile, and run GPU code<\/li><li>Refactor standard algorithms to execute on GPU<\/li><li>Extend standard algorithms to fit your unique use cases<\/li><\/ul><p><strong>Break (60 mins)<\/strong><\/p>\n<p><strong>Unlocking the GPU&rsquo;s Full Potential: Harnessing Asynchrony with CUDA Streams<\/strong><\/p>\n<p>In the previous lab, you learned how to use parallel algorithms. However, But the concept of parallelism is not sufficient for accelerating your applications. To fully utilize GPUs, this lab will teach you another fundamental concept: asynchrony. In this lab, you&#039;ll learn how and when to leverage asynchrony. You&rsquo;ll use Nsight Systems to distinguish synchronous and asynchronous algorithms and identify performance bottlenecks. By the time you complete this lab, you will be able to:\n<\/p>\n<ul>\n<li>Use CUDA streams to overlap execution and memory transfers<\/li><li>Use CUDA events for asynchronous dependency management<\/li><li>Profile CUDA code with NVIDIA Nsight Systems<\/li><\/ul><p><strong>Break (15 mins)<\/strong><\/p>\n<p><strong>Implementing New Algorithms with CUDA Kernels<\/strong><\/p>\n<p>Previous labs equipped you with necessary understanding of how using standard parallel algorithms can provide both convenient and speed-of-light GPU acceleration. However, sometimes your unique use cases are not covered by accelerated libraries. In this lab, you&rsquo;ll learn the CUDA SIMT programming model to program the GPU directly using CUDA kernels. Besides that, this lab will cover utilities provided by the CUDA ecosystem to facilitate development of custom CUDA kernels. By the time you complete this lab, you will be able to:\n<\/p>\n<ul>\n<li>Write and launch custom CUDA kernels<\/li><li>Control thread hierarchy<\/li><li>Leverage shared memory<\/li><li>Use cooperative algorithms<\/li><\/ul><p><strong>Final Review<\/strong>\t\n<\/p>\n<ul>\n<li>Review key learnings and wrap up questions.<\/li><li>Complete the assessment to earn a certificate.<\/li><li>Take the workshop survey.<\/li><\/ul>","summary":"<p>This workshop provides a comprehensive introduction to general-purpose GPU programming with CUDA. You&#039;ll learn how to write, compile, and run GPU-accelerated code, leverage CUDA core libraries to harness the power of massive parallelism provided by modern GPU accelerators, optimize memory migration between CPU and GPU, and implement your own algorithms. At the end of the workshop, you&#039;ll have access to additional resources to create your own GPU-accelerated 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":"At the conclusion of the workshop, you'll have an understanding of the fundamental concepts and techniques for accelerating C++ code with CUDA and be able to:\n\n\n\n- Write and compile code that runs on the GPU\n- Optimize memory migration between CPU and GPU\n- Leverage powerful parallel algorithms that simplify adding GPU acceleration to your code\n- Implement your own parallel algorithms by directly programming GPUs with CUDA kernels\n- Utilize concurrent CUDA streams to overlap memory traffic with compute\n- Know where, when, and how to best add CUDA acceleration to existing CPU-only applications","essentials_plain":"- Basic C++ competency, including familiarity with lambda expressions, loops, conditional statements, functions, standard algorithms and containers.\n- No previous knowledge of CUDA programming is assumed.","outline_plain":"Introduction\t\n\n\n\n- Meet the instructor.\n- Create an account at courses.nvidia.com\/join\n\nCUDA Made Easy: Accelerating Applications with Parallel Algorithms\n\nTo make your first steps in GPU programming as easy as possible, this lab teaches you how to leverage powerful parallel algorithms that make GPU acceleration of your code as easy as changing a few lines of code. While doing so, you\u2019ll learn fundamental concepts such as execution space and memory space, parallelism, heterogeneous computing, and kernel fusion. These concepts will serve as a foundation for your advancement in accelerated computing. By the time you complete this lab, you will be able to:\n\n\n\n- Write, compile, and run GPU code\n- Refactor standard algorithms to execute on GPU\n- Extend standard algorithms to fit your unique use cases\nBreak (60 mins)\n\nUnlocking the GPU\u2019s Full Potential: Harnessing Asynchrony with CUDA Streams\n\nIn the previous lab, you learned how to use parallel algorithms. However, But the concept of parallelism is not sufficient for accelerating your applications. To fully utilize GPUs, this lab will teach you another fundamental concept: asynchrony. In this lab, you'll learn how and when to leverage asynchrony. You\u2019ll use Nsight Systems to distinguish synchronous and asynchronous algorithms and identify performance bottlenecks. By the time you complete this lab, you will be able to:\n\n\n\n- Use CUDA streams to overlap execution and memory transfers\n- Use CUDA events for asynchronous dependency management\n- Profile CUDA code with NVIDIA Nsight Systems\nBreak (15 mins)\n\nImplementing New Algorithms with CUDA Kernels\n\nPrevious labs equipped you with necessary understanding of how using standard parallel algorithms can provide both convenient and speed-of-light GPU acceleration. However, sometimes your unique use cases are not covered by accelerated libraries. In this lab, you\u2019ll learn the CUDA SIMT programming model to program the GPU directly using CUDA kernels. Besides that, this lab will cover utilities provided by the CUDA ecosystem to facilitate development of custom CUDA kernels. By the time you complete this lab, you will be able to:\n\n\n\n- Write and launch custom CUDA kernels\n- Control thread hierarchy\n- Leverage shared memory\n- Use cooperative algorithms\nFinal Review\t\n\n\n\n- Review key learnings and wrap up questions.\n- Complete the assessment to earn a certificate.\n- Take the workshop survey.","summary_plain":"This workshop provides a comprehensive introduction to general-purpose GPU programming with CUDA. You'll learn how to write, compile, and run GPU-accelerated code, leverage CUDA core libraries to harness the power of massive parallelism provided by modern GPU accelerators, optimize memory migration between CPU and GPU, and implement your own algorithms. At the end of the workshop, you'll have access to additional resources to create your own GPU-accelerated 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":"2.0","duration":{"unit":"d","value":0,"formatted":"8 hours"},"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-10-15T01:47:17+02:00","parenturl":"https:\/\/portal.flane.ch\/swisscom\/en\/json-courses","nexturl_course_schedule":"https:\/\/portal.flane.ch\/swisscom\/en\/json-course-schedule\/34484","source_lang":"en","source":"https:\/\/portal.flane.ch\/swisscom\/en\/json-course\/nvidia-faccc"}}