首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» 基于 GPU 的 OpenPOWER 架构的性能增强
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于 GPU 的 OpenPOWER 架构的性能增强
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2017-12-8 08:45
|
只看该作者
基于 GPU 的 OpenPOWER 架构的性能增强
IBM、NVIDIA 和 Mellanox 合作推出的加速 OpenPOWER 系统提供了新的可伸缩性和性能潜力。这些系统拥有 GPU(协处理器)来提高系统的性价比。在加速的系统中,一部分应用程序在处理器上运行,剩余部分在协处理器或 GPU 上运行。
要将工作引入到 GPU 上,程序员应在应用程序内调用 CUDA 函数(用于在 GPU 上声明数组,将数据从 CPU 复制到 GPU,以及从 GPU 复制到 CPU 等)。这并不轻松,因为需要修改代码、感知 CUDA 操作,以及编译。尽管 OpenACC 指令(通过基于指令的引入)让工作变得更轻松,但它仍需要程序员理解应用程序和它的流,然后决定可将应用程序的哪些部分引入到 GPU。
启用了 CUDA 的 ESSLESSL(Engineering and Scientific Subroutine Library 工程和科学子程序库)和 Parallel ESSL 是最新的数学子程序的集合,它们专为改善基于 IBM ® POWER ® 处理器的服务器上的工程和科学应用程序性能而设计。ESSL 和 Parallel ESSL 通常用在航空宇宙、汽车、电子、石油、公用事业和科学研究行业中。
为了实现对启用了 GPU 的加速 OpenPOWER 架构的支持,ESSL 的新版本(例如 V5.5)现已启用 GPU。这个 ESSL 版本将一个数学函数子集引入到 GPU,以提高计算速度,然后收集回 CPU 上的结果。该过程是无缝的,而且对用户透明。不需要修改应用程序和编译过程。只有在链接阶段,才需要链接启用了 CUDA 的 ESSL(例如
libesslsmpcuda.so
)而不是 ESSL(例如
libessl.so
)。本文将演示如何通过基于 CUDA 的 ESSL 来挖掘基于 GPU 的 OpenPOWER 架构性能的过程,以及获得的性能提升。
系统配置为了演示启用了 CUDA 的 ESSL 的优势,我们使用了 IBM S822LC。表 1 提供了该系统的规格。
表 1. S822LC 系统细节
操作系统RHEL 7.3每个节点的核心数20CPU 频率4.02 GHzGPUNVIDIA Tesla P100每个节点的 GPU 数4ESSL5.5示例程序Crossroads/NERSC-9 DGEMM 计算基准测试(版本:1.0.0)
Crossroads/NERSC-9 Memory Bandwidth 基准测试是一个简单的单节点多线程稠密矩阵乘法基准测试。该代码旨在演示一个系统在持续计算情况下的高浮点计算速率。
编译图 1. Makefile 显示了启用了 CPU 的 ESSL 库的链接
图 2. Makefile 显示了启用了 CPU 和 GPU 的 ESSL 库的链接
执行本节将描述 DGEMM 基准测试的环境设置和执行。
环境设置
为执行设置了以下环境变量。
export PATH=/usr/local/cuda/bin
PATH
export OMP_NUM_THREADS=20
export OMP_PLACES={0:20:8}
export OMP_WAIT_POLICY=active
export OMP_PROC_BIND=TRUE
unset CUDA_VISIBLE_DEVICES
export CUDA_VISIBLE_DEVICES=0,1,2,3
运行命令
可执行程序/二进制程序 (
mt-dgemm
) 接受矩阵的大小作为输入参数。以下命令可对一个 4096 X 4096 矩阵执行矩阵乘法。
./mt-dgemm 4096
结果在本节中,详细给出了对 DGEMM 执行以下操作时 DGEMM 代码的性能:
不使用 ESSL 进行编译
链接到 ESSL
链接到启用了 CUDA 的 ESSL(参见表 2)
启用了 GPU 的 ESSL 的
性能比仅支持 CPU 的 ESSL 版本高 5 到 6 倍
。
表 2. 性能比较 [矩阵大小 (N) = 4096]
时间(以秒为单位)
GFLOPS
计算的 FLOPS
不使用 ESSL 1287.04 3.20 4124175237120 ESSL SMP – 仅支持 CPU 8.67 475.22 4124175237120 ESSL SMP – 启用 CUDA
(使用 4 个 GPU) 1.62 2535.28 4124175237120 图 3. 通过 NVIDIA Visual Profiler (NVVP) 利用 GPU(使用 libesslcudasmp 的情况下)
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议