• Partnership for Advanced Computing in Europe (PRACE)

用于科学计算及其他的GPU编程

学习GPU体系结构和微调,以利用其编程能力,以实现卓越的科学计算,游戏等。

Optimise GPU programming to accelerate scientific computing and other operations

诸如图形处理单元(GPU)和联合处理器之类的加速器非常有效地实现高性能计算(HPC)以优化设备的功率。典型的GPU体系结构意味着单元通常并行执行多个操作,将大型问题分解为可以同时执行的较小和简单的问题。

为了从这些资源中获得最大收益,最终用户和科学开发人员需要以最大的效率使用图形处理单元的并行编程。在欧洲高级计算合作伙伴关系的五周课程中,您将学会这样做。

Achieve accelerated parallel programming

Faster parallel programming means better performance and quicker scientific computing and other HPC results, making it a top priority. On this course, you’ll learn how to accelerate parallel programming using a GPU.

借助这种增强的计算能力,您将能够运行科学和工程模拟,以进行科学计算,为人工智能求解矩阵和向量,或者最佳运行游戏之类的最终用户应用程序。

获取所有您需要启动GPGPU编程所需的一切

The course covers all aspects of general-purpose graphics processing unit (GPGPU) programming. You’ll get comprehensive instruction on GPU architecture, programming languages, code optimisation and tuning, and everything else required for any kind of HPC.

与世界一流的团队一起学习GPGPU编程

PRACE is dedicated to enabling high-impact scientific and engineering discovery and research, and to strengthening HPC usage across Europe. This mission, along with the Partnership’s combined expertise, makes it ideally suited to helping you take your GPGPU programming game further.

教学大纲

  • 第1周

    课程组织,并行编程概念和GPU体系结构

    • 课程介绍和欢迎Pascal Bouvry

      Pascal Bouvry教授谈到了本课程的概述以及多年来GPU如何发展。以及如何用于科学和工程以及AI/ML计算。

    • Ezhilmathi Krishnasamy的课程介绍

      Dr. Ezhilmathi Krishnasamy talks about an overview of this GPU programming course and its use for scientific computing. Furthermore, it also talks about course organization and what you will be learning as a participant.

    • 介绍第1周活动

      该视频将简要说明整个星期的内容以及您将要学习的内容。此外,它还简要介绍了每篇文章的主要思想和概念。因此,这使学习者获得了一个好主意。

    • 简介(第1条,测验和讨论)

      本节将显示GPU计算在科学计算和人工智能中的重要性;以及如何将GPU纳入现代超级计算机中。

    • 课程组织和GPU访问(第2条,测验和讨论)

      本节概述了课程,先决条件和课程结构的结果。最后,它建议访问GPU硬件和软件的方法。

    • 并行计算机架构(第3条,测验和讨论)

      在本节中,我们将研究计算机并行体系结构的基础知识。它显示了CPU并行体系结构的概述。通过知道这一点,后来将有助于了解GPU体系结构。

    • General Parallel Programming Concepts (Article 4, Quiz and Discussion)

      本节将介绍一般并行编程的介绍。通过本节将有助于查看CPU和GPU(加速器)上的并行编程之间的差异。

    • GPU架构(第5条,测验和讨论)

      在本节中,我们研究了通用的GPU体系结构,内存,内核以及GPU多年来如何改善数据通信。

  • 第2周

    CUDA(基本):CUDA编程简介

    • Introduction to Week 2 Activities

      该视频将简要说明整个星期的内容以及您将要学习的内容。此外,它还简要介绍了每篇文章的主要思想和概念。因此,这使学习者获得了一个好主意。

    • Basic Programming (Article 1, Quiz and Discussion)

      This section shows our first hello world programming using the GPU. We will then go through how the device, kernel, thread synchronize, and device synchronize are organized in the CUDA code.

    • 了解CUDA线程(第2条,测验和讨论)

      本节将为您提供详细的概述,了解如何组织CUDA线程以及如何在NVIDIA GPU上映射。另外,它还显示了如何将不同的线程块转换为另一种形式。

    • C/C ++的CUDA API(第3条,测验和讨论)

      在本节中,我们将介绍CUDA编程中可用的一些API,该API将指示编译器执行分配的作业。

    • 向量操作(第4条,测验和讨论)

      在本节中,我们将研究如何从数值线性代数的矢量操作进行CUDA编程。

    • 矩阵操作(第5条,测验和讨论)

      在本节中,我们将介绍如何为矩阵乘法应用程序编写CUDA编程。

  • 第三周

    CUDA (advanced): Numerical Algebra, Advanced Topics, Profiling and Tuning

    • 介绍第3周活动

      该视频将简要说明整个星期的内容以及您将要学习的内容。此外,它还简要介绍了每篇文章的主要思想和概念。因此,这使学习者获得了一个好主意。

    • Shared Memory Matrix Opertaions (Article 1, Quiz and Discussion)

      本节使用共享内存和瓷砖矩阵概念研究了优化矩阵操作。

    • 统一记忆(第2条,测验和讨论)

      This section will study the unified memory concept in the CUDA programming on Nvidia GPU. The unified memory concept makes programmers less effort for writing the CUDA program for data handling.

    • CUDA流(第3条,测验和讨论)

      CUDA流用于CUDA API调用的并发操作。当设备上有计算并发生通信时,它非常有用。

    • CUDA申请分析(第4条,测验和讨论)

      本节将显示如何介绍NVIDIA CUDA代码。GPU有许多内核,不同的内存选项和分析将有助于编写优化的GPU代码。

    • 绩效优化和调整(第5条,测验和讨论)

      本节显示了CUDA编程的一些性能调整选项。如果未调整代码,那么我们甚至可能会获得不良的性能,这可能表现不佳,即退出代码或CPU代码。

  • 第4周

    OpenACC(基本):OpenACC编程模型简介

    • 介绍第4周活动

      该视频将简要说明整个星期的内容以及您将要学习的内容。此外,它还简要介绍了每篇文章的主要思想和概念。因此,这使学习者获得了一个好主意。

    • Introduction to OpenACC (Article 1, Quiz and Discussion)

      In this section, we show and discuss the introduction to OpenACC. We consider both C/C++ and Fortran programming languages here.

    • OpenACC的功能(第2条,测验和讨论)

      在本节中,我们将展示并讨论OpenACC功能的概述。

    • OpenACC计算结构(第3条,测验和讨论)

      This section shows and discusses the introduction to OpenACC compute constructs. These are essential to learning how to parallelize the serial code.

    • OpenACC中的数据环境(第4条,测验和讨论)

      In this section, we show a few of the data handling clauses that are available in OpenACC. These are very important APIs for data transfer and writing.

    • OpenACC中的编程(第5条,测验和讨论)

      本节介绍了C/C ++和Fortran编程语言的OpenACC编程模型的温和介绍。

  • 第5周

    OpenACC (advanced): Numerical Algebra, Advanced Topics, Profiling and Tuning

    • 介绍第5周活动

      该视频将简要说明整个星期的内容以及您将要学习的内容。此外,它还简要介绍了每篇文章的主要思想和概念。因此,这使学习者获得了一个好主意。

    • 向量操作(第1条,测验和讨论)

      在本节中,我们将使用C/C ++和Fortran编程语言进行简单的向量添加。

    • 矩阵操作(第2条,测验和讨论)

      在本节中,我们将研究如何使用openACC进行C/C ++和Fortran语言进行矩阵乘法。我们还将使用一些基本的OpenACC子句和示例。

    • 共享记忆和异步(第3条,测验和讨论)

      在本节中,我们将通过使用OpenACC以及如何启用与CUDA中的CUDA流相似的sync来展示如何使用GPU的共享内存。

    • 分析(第4条,测验和讨论)

      在本节中,我们将展示如何介绍OpenACC代码。通过这样做,我们将知道每个功能花费多少时间。但是,还花了时间来进行CPU和GPU和OpenACC API之间的内存传递。

    • 调整和优化(第5条,测验和讨论)

      As you all now might have familiar with OpenACC and would have noticed that, it is easy to parallelize the serial code into OpenACC. But most of the tricks involve code tuning and optimization; this is what we focus on now.

您想何时开始?

立即开始,按照自己的速度学习。如果课程尚未开始,您将看到下面列出的未来日期。

  • Available now

Learning on this course

您可以参加这种自我指导的课程,并以自己的步调学习。在课程的每一步中,您都可以遇到其他学习者,分享您的想法并在评论中进行积极的讨论。

您将实现什么?

在课程结束时,您将能够...

  • GPU parallel programming: CUDA and OpenACC programming model; GPU architecture; Efficient implementation of computational linear algebra routines; Running the scientific applications; Code optimization and fine-tuning concerning different architecture.

Who is the course for?

This course is designed for anyone who needs to use GPGPU programming, from end-users playing complex video games to researchers involved with artificial intelligence and scientific computing.

Who will you learn with?

我是卢森堡大学的博士后研究员,与并行计算和优化小组合作。我的研究兴趣是科学和量子计算。

Dr Pascal Bouvry, is full professor at the University of Luxembourg.

谁开发了课程?

Partnership for Advanced Computing in Europe (PRACE)

欧洲高级计算合作伙伴关系(PRACE)是与布鲁塞尔的国际非营利性协会。

推荐的

Ways to learn

Buy this course

Subscribe to Unlimited

加入有限的访问

选择为您学习的最佳方法!

$ 74

一次性付款

$ 15.83/月

收费$189.99一年

自由

Unlock your expertise Access 100s of courses Try this course - with limits
访问此课程 打钩 打钩 限制为5周
访问所有合格的课程 打钩
按照自己的速度学习 打钩 打钩
在评论中讨论您的学习 打钩 打钩 打钩
证书当你符合条件时 印刷和数字 仅数字
Buy this course

Ways to learn

Subscribe to Unlimited 访问本课程以及一年的其他数百门课程或电竞博彩app有什么只买这门课程 只是本课程以获得额外的好处。或者,join with limited access.

Subscribe to Unlimited

$ 15.83/月

收费$189.99一年

Access 100s of courses

  • 访问此课程
  • 进入所有合格的短课程电竞博彩app有什么
  • 按照自己的速度学习
  • 在评论中讨论您的学习
  • 符合条件的数字证书

Buy this course

$ 74

一次性付款

Unlock your expertise

  • 访问此课程
  • 按照自己的速度学习
  • 在评论中讨论您的学习
  • 合格时印刷和数字证书

加入有限的访问

自由

先试后买

  • Limited access to course content for 5 weeks

了解更多有关certificates,无限 或者购买课程(升级)

销售价格直到2022年4月25日,23:59(UTC).T&C申请.

了解更多有关certificates,无限 或者购买课程(升级)

销售价格直到2022年4月25日,23:59(UTC).T&C申请.

在FutureLearn上学习

Your learning, your rules

  • Courses are split into weeks, activities, and steps, but you can complete them as quickly or slowly as you like
  • 通过咬合大小的视频,长篇小说文章,音频和实践活动的混合方式学习
  • 通过使用进度页面来跟踪您的步骤完成和评估分数来保持动力

Join a global classroom

  • 体验社会学习的力量,并受到国际学习者网络的启发
  • 在课程的每一步中,与同龄人和课程教育者分享想法
  • 通过阅读,@ing,喜欢,书签和回复他人的评论来加入对话

Map your progress

  • 当您完成课程时,请使用通知和进度页面来指导您的学习
  • 每当您准备就绪时,将每个步骤都标记为完成,您就可以控制
  • 完成90%的课程步骤和所有评估以赢得您的证书

想进一步了解有关FutureLearn的学习吗?盖世电竞里钱如何提现

Do you know someone who'd love this course? Tell them about it...

您可以使用主题标签#gpuforscientificcomputing to talk about this course on social media.