0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用GPU编程优化模型/代码

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-10 11:32 次阅读

虽然世界在不断变化,但开发人员仍在不断推动他们使用创新技术应对挑战。最近的台湾计算云( TWCC ) GPU Hackathon 就是这样一个例子,它是开发者和工程师使用 GPU 推进 HPC 和 AI 项目的催化剂。

国家高性能计算中心 、 台湾网络服务公司 、 NVIDIA 和 OpenACC 、 12 个团队和 15 名 NVIDIA 导师之间的合作,使用了从人工智能驱动的制造调度模型到快速洪水预测模型的各种方法来加速项目。

利用人工智能优化生产效率

智能制造的关键领域之一是优化和自动化生产线流程。团队 AI 调度员和 工业技术研究中心(工研院) 的 计算智能技术中心( CITC ) 成员来到 hackathon ,使用机器学习开发他们的制造调度模型。

传统的调度模型大多采用启发式规则,能够即时响应动态事件。然而,他们的短期方法通常不会带来最佳解决方案,并且在处理变化的变量时被证明是不灵活的,这限制了他们的持续生存能力。

该团队的方法使用蒙特卡罗树搜索( MCTS )方法,将经典的树搜索实现与强化学习的机器学习原理结合起来。该方法解决了现有的启发式限制,提高了整体调度模型的效率,提高了效率。

通过与导师合作,团队 AI Scheduler 学会了使用 NVIDIA Nsight 系统 来识别瓶颈,并使用 GPU 来并行化代码。活动结束时,团队能够加快 MCTS 算法模拟步骤。这将调度时间从 6 小时减少到 30 分钟,并使总体调度效率提高了 11.3 倍。

工研院 CITC 的曾正苏博士和黄浩哲博士说:“在本次黑客大会上证明了使用 GPU 加速我们的模型的可行性之后,下一步是将其应用到我们的商业模型中,供工业使用。”。

使用 GPU 了解地球科学的全局

台湾位于欧亚大陆和菲律宾海板块之间,是世界上构造最活跃的地区之一,也是全球地震研究的重要基地。地质研究和构造活动的时间尺度通常以数千年或数万年为单位。这需要使用大量数据和足够的计算能力来进行有效分析。

由 中央研究院地球研究所 的谭博士领导的 IES 地球动力学团队来到 GPU Hackathon 加速他们的数值地球动力学模型。它名为 DynEarthSol ,模拟地幔对流、俯冲、造山和构造。此前,该团队通过将数据分块并限制计算过程以适应 CPU 有限的计算能力来减少计算和步骤的数量,从而处理大量数据。这使得很难看到研究的全貌。

pYYBAGJST-SAa2tjAASPieycVq8900.png

图 2 俯冲带的动画模拟。

在黑客竞赛的过程中,团队使用了一种新的数据输入方法,利用 GPU 计算数据和多个步骤。使用 OpenACC , IES 地球动力学团队能够将 80% 的模型移植到 GPU ,并实现了 13.6 倍的加速。

“这是我第二次参加 GPU 黑客竞赛,我肯定会参加下一次,”中央研究院国际研究所研究员谭恩恩教授说。“我们已经学会了采用 GPU 的适当方法,用户友好的分析工具为我们提供了一个优化模型的好主意。”

该团队将继续致力于移植其模型的剩余 20% 。他们期待使用 GPU 运行更多高分辨率模型,以更深入地了解台湾的编队活动。

用于应急规划和响应的快速洪水评估

洪水是最具破坏性的自然灾害之一。每年造成大量人员伤亡和经济损失, 全世界平均有 2100 万人受洪水影响 ,由于气候变化和其他因素,预计人数还会增加。预防和减轻这些危害是一项关键工作。

来自 国立杨桥大学( NYCU ) 的 THINKLAB 团队正在开发一种模型,该模型可以为紧急情况提供快速准确的结果,同时保持操作的简单性。所提出的 混合淹没模型( HIM ) 通过元胞自动机方法求解零惯性方程,并与亚网格级插值策略配合使用,以生成更高分辨率的结果。

Picture5.gif

图 3 HIM 产生的洪水范围示例。

使用 Python 和 NumPy 库开发的 HIM 模型在 hackathon 开始时没有并行或 GPU 计算。在活动期间, THINKLAB 团队使用 CuPy 为了使他们的代码在 GPU 上并行运行,然后重点将用户定义的 CUDA 内核应用于参数。结果是 672 倍加速,计算时间从 2 周缩短到大约 30 分钟。

THINKLAB 团队成员 Obaja Wijaya 说:“我们在这次活动中学到了很多技巧,并向其他人强烈推荐这些活动。”。“NVIDIA 是这一领域的专家,通过与他们的导师合作,我们学会了如何使用 GPU 编程优化模型/代码。”

关于作者

Izumi Barker 是 NVIDIA GPU 黑客竞赛和训练营的项目经理,也是 OpenACC Standard 的公关总监。组织。在这些角色之前,她在凤凰城大学、 CeCon 集团、囊性纤维化基金会和 LLP 安永等高等教育、生命科学、技术和出版行业的公司举办了战略营销和传播职位。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4704

    浏览量

    128737
  • python
    +关注

    关注

    56

    文章

    4784

    浏览量

    84480
  • CUDA
    +关注

    关注

    0

    文章

    121

    浏览量

    13603
收藏 人收藏

    评论

    相关推荐

    探索AIGC未来:CPU源码优化、多GPU编程与中国算力瓶颈与发展

    近年来,AIGC的技术取得了长足的进步,其中最为重要的技术之一是基于源代码的CPU调优,可以有效地提高人工智能模型的训练速度和效率,从而加快了人工智能的应用进程。同时,多GPU编程技术
    的头像 发表于 12-08 11:49 1502次阅读
    探索AIGC未来:CPU源码<b class='flag-5'>优化</b>、多<b class='flag-5'>GPU</b><b class='flag-5'>编程</b>与中国算力瓶颈与发展

    优化模型与Lindo/Lingo优化软件

    优化模型与Lindo/Lingo优化软件 优化模型简介 LINDO公司的主要软件产品及功能简介 LINDO软件
    发表于 09-15 12:22

    GPU

    ,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器
    发表于 01-16 08:59

    【招聘】算法、图像检索、嵌入式、测试、架构、GPU优化等职位(bj&sh)

    。 2、熟悉NVIDIA或AMD GPU体系结构和代码优化技术。 3、熟练使用CUDA或者OpenCL编程。 芯片验证工程师 Responsibilities: - Develop
    发表于 02-28 14:23

    GPU编程的平台模型、执行模型、内存模型编程模型

    GPU编程--OpenCL四大模型
    发表于 04-29 07:40

    请问Mali GPU的并行化计算模型是怎样构建的?

    Mali T604 GPU的结构是由哪些部分组成的?Mali T604 GPU编程特性有哪些?Mali GPU的并行化计算模型是怎样构建的
    发表于 04-19 08:06

    在Ubuntu上使用Nvidia GPU训练模型

    问题最近在Ubuntu上使用Nvidia GPU训练模型的时候,没有问题,过一会再训练出现非常卡顿,使用nvidia-smi查看发现,显示GPU的风扇和电源报错:解决方案自动风扇控制在nvidia
    发表于 01-03 08:24

    Mali GPU支持tensorflow或者caffe等深度学习模型

    好的Tensorflow或者Caffe模型部署到ARM平台Mali-G71/72 GPU上运行,而不重新OpenCL编写代码,但没有看见相关可行的资料。网上信息显示tensorflow lit和caffe2Go可以部署到ARM,
    发表于 09-16 14:13

    Mali-Valhall系列GPU编程内核

    2018年起。当使用GPU优化应用程序时,至少有一个高级心理模型是有用的了解底层硬件的工作方式。了解预期性能也很有用以及它可能执行的不同类型操作的数据速率。在优化使用Mali时,了解块
    发表于 08-02 16:38

    Keil C编译器编程规则和代码优化

    本内容介绍了Keil C编译器编程规则和代码优化,要实用好单片机就必须清楚它的内部结构组织结构,无论是在芯片的选择还是代码的编写
    发表于 04-20 17:37 315次下载
    Keil C编译器<b class='flag-5'>编程</b>规则和<b class='flag-5'>代码</b><b class='flag-5'>优化</b>

    数据流编程模型优化

    提出了新的挑战。针对数据流程序在分布式架构下所面临的问题,设计并实现了数据流编程模型和分布式计算框架的结合在COStream的基础上提出了面向Storm的编译优化框架。框架包括两个模块:面向Storm的层次性任务划分与调度,以及
    发表于 11-23 15:48 3次下载
    数据流<b class='flag-5'>编程</b><b class='flag-5'>模型</b><b class='flag-5'>优化</b>

    CUDA简介: CUDA编程模型概述

    在 CUDA 编程模型中,线程是进行计算或内存操作的最低抽象级别。 从基于 NVIDIA Ampere GPU 架构的设备开始,CUDA 编程模型
    的头像 发表于 04-20 17:16 2977次阅读
    CUDA简介: CUDA<b class='flag-5'>编程</b><b class='flag-5'>模型</b>概述

    使用NVIDIA数学库加速GPU应用程序

      加速 GPU 应用程序的主要方法有三种:编译器指令、编程语言和预编程库。编译器指令,例如 OpenACC a 允许您顺利地将代码移植到 GPU
    的头像 发表于 10-10 15:11 7380次阅读
    使用NVIDIA数学库加速<b class='flag-5'>GPU</b>应用程序

    谷歌发布用于辅助编程代码模型CodeGemma

    谷歌发布了用于辅助编程代码模型 CodeGemma。CodeGemma 基于谷歌今年 2 月发布的轻量级开源大模型 Gemma,针对 Gemma 的两个不同参数规模的版本 Gemm
    的头像 发表于 04-17 16:07 643次阅读
    谷歌发布用于辅助<b class='flag-5'>编程</b>的<b class='flag-5'>代码</b>大<b class='flag-5'>模型</b>CodeGemma

    如何构建及优化GPU云网络

    并从计算节点成本优化、集群网络与拓扑的选择等方面论述如何构建及优化GPU云网络。
    的头像 发表于 11-06 16:03 258次阅读
    如何构建及<b class='flag-5'>优化</b><b class='flag-5'>GPU</b>云网络