系统英伟达gpu驱动卸载_绕过CPU,英伟达让GPU直连存储设备

英伟达最近发布了一个新的GPUDirect Storage,暂且叫做GPU直连存储,让GPU直接连到NVMe存储设备上。这一方案用到了RDMA设备来把数据从闪存存储转移到GPU本地的内存里,无需经过CPU还有系统内存。

如果这一举措顺利的话,英伟达就能摆脱对于CPU的依赖开辟一片全新的领地,全新的市场,比如数据科学和机器学习市场,这一市场将造就每年200亿到250亿美金的服务器市场,跟HPC和深度学习市场加起来的市场规模差不多一样大。

英伟达在拼命的把要做的事情往GPU里放,去年十月份,英伟达发布了RAPIDS,这是一个开源的工具库,用于帮助人们用GPU做分析和机器学习。RAPIDS可以对Apache Arrow, Spark等数据科学类的工具提供GPU加速,将GPU放入大数据企业应用的生态,这一领域现如今仍旧是以基于CPU的Hadoopp和Mapreduce这种方案。

RAPIDS涵盖了机器学习的所有方面,包括监督式和无监督式的机器学习,还有各种数据处理方面的内容,但是,这一做法也遭到了一些怀疑。

GPU现在越做越大,连接性也越来越好,从应用的角度来看,GPU的通用也很好。与此同时,数据分析越来越负载,机器学习经常会集成到工作流程中,这样一来,对TB级数据进行千万亿次计算的应用程序也会越来越多。

想做好这点必须有很好的可扩展性,通过NVLink和NVSwitch等技术可以连接多个GPU,组成一个巨大的加速器,该技术最初是为DGX架构设计的,这一架构主要也是为了解决规模更大,更复杂的神经网络训练问题。英伟达想把GPU的计算能力用于大数据的想法是说的通的,但唯独就是缺少快速的数据存储路径。

通常,在GPU加速系统当中,所有的IO操作都会先经过主机端,也就是需要经过CPU指令把数据传到主机内存里,然后才会到达GPU,CPU通常会通过“bounce buffer”来实现数据传输,“bounce buffer”是系统内存中的一块区域,数据在传输到GPU之前会在这里保存一个副本。很明显,这种中转会引额外延迟和内存消耗,降低运行在GPU上的应用程序的性能,还会占用CPU资源,这就是GPUDirect Storage要解决的问题。

8384695629995a278159661495115c6e.png

英伟达方面表示这一技术能提升50%的IO带宽,延迟能降低3.8倍。如果通过NVMeoF技术的话,GPU就能连上PB级别的存储资源池,更厉害的是,英伟达声称数据存取的效率比内存的页面缓存速度还要快。

英伟达表示,如果你的DGX-2系统里有16个GPU,主机端有1.5TB内存的话,GPUDirect Storage的吞吐带宽能提升8倍(跟原来不支持GPUDirect Storage的DGX-2系统相比)。这是因为,DGX-2的吞吐带宽能达到大约200GB/s,而原来依靠主机端内存的话,最多也就50GB/s。

多出来的这150GB/s传输速度对于数据分析型工作负载的提升将非常可观,对于像深度学习这种文件密集型应用程序,对于传统的HPC也将会带来很大改观。

英伟达的这一做法让GPU直连到存储,直接拿到原始数据,意味着GPU也可以对文件进行解压缩和解码操作,解放CPU。目前,GPUDirect Storage支持各种常见的文件格式进行操作。

GPUDirect Storage方案用到了两项高端技术,一个是RDMA,一个是NVMe(NVMe-oF),其中,RDMA被封装在GPUDirect的协议中,依靠各种网络适配器工作(比如Mellanox的NIC),既可以访问远程的存储也可以访问本地的存储设备。

目前,GPUDirect Storage只面向少数合作伙伴提供,预计今年十月份将推出beta版本。

在译者看来,这是英伟达跟英特尔竞争的又一大举措,可以看做是对英特尔再度进军GPU市场的一个回应。

绕开CPU,开辟一片新的生态,这在理论上是可行的,也确实有明显的需求场景,最后能否在市场上推行开来,还得看方案构建的水平,包括方案的易用性,稳定性,场景的优化水平,当然,最重要的还是不要对现有软件架构带来太多变化,控制用户的使用成本和购置成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

37、EnumSet详解

EnumSet类也是有顺序的,EnumSet按照枚举值在Enum类内定义的顺序决定集合元素的顺序 EnumSet在内部已位向量的形式存储,这种存储方式非常紧凑、搞笑,因此EnumSet占用内存很小,而且运行效率很好。 EnumSet集合不允许加入null元素 En…

嘲弄和存根–了解Mockito的测试双打

介绍 我遇到的一件事是使用模拟框架的团队假设他们在模拟。 他们并不知道Mocks只是Gerard Meszaros在xunitpatterns.com上归类的“测试双打”之一。 重要的是要意识到每种类型的测试双精度在测试中都扮演着不同的角色。 用与您需要学习不同模式或重构的方式相同,您…

numpy 辨异(三)—— hstack/column_stack,linalg.eig/linalg.eigh

1. np.hstack np.column_stack >>> np.hstack([np.array([1, 2, 3]), np.array([4, 5, 6])]) array([1, 2, 3, 4, 5, 6])>>> np.column_stack([np.array([1, 2, 3]), np.array([4, 5, 6])]) array([[1, 4],[2, 5],[3, 6]]) 当然对等地,也存在&…

【代码笔记】iOS-首页3张图片变化

一&#xff0c;效果图。 二&#xff0c;工程图。 三&#xff0c;代码。 RootViewController.h #import <UIKit/UIKit.h>interface RootViewController : UIViewController {NSTimer *timer;UIImageView *imageView1;UIImageView *imageView2;UIImageView *imageView3;UIV…

acwing算法提高之动态规划--数位DP

目录 1 基础知识2 模板3 训练 1 基础知识 暂无。。。 2 模板 暂无。。。 3 训练 题目1&#xff1a;度的数量。 解题思路&#xff1a;分类讨论。 C代码如下&#xff0c; #include <iostream> #include <vector>using namespace std;const int N 35; int K,…

python 输入数字变成密码_如何在python中检查数字的“密码”

我建议使用sets和stdlib中的string包作为可接受字符的列表。在我还建议进行一点重构&#xff0c;以删除大量带有if / else分支的嵌套。在import stringupper set(list(string.uppercase))lower set(list(string.lowercase))numbers set(list(string.digits))while True:npw …

使用Eclipse在Amazon Ec2中部署Java Web应用程序的完整指南

嗨&#xff0c;读者们&#xff0c; 今天&#xff0c;我将向您展示如何使用Eclipse IDE在Amazon EC2中部署简单的Java Web应用程序。 在我们开始之前&#xff0c;我们需要一些必需的东西&#xff0c; Eclipse Java EE IDE –您可以从http://www.eclipse.org/downloads/下载&…

jquery的load方法

load方法指定一个界面会显示在目标的标签内部 比如MVC的一个分部视图页面想要显示在某个标签里面&#xff0c;可以写成 $(标签ID).load&#xff08;分部视图名称,data&#xff09; 其中第二个参数可选&#xff0c;主要是一些需要传递到该页面的数据JSON格式组成&#xff0c;发送…

android 录音原始文件_音频采集:Android基于AudioRecord的实现

前言这篇文章简单介绍下移动端Android系统下利用AudioRecord进行音频采集方法。按照惯例开始前先提供一份源码 AudioRecordLib 。AudioRecord采集的核心实现在于 AudioRecordCore.java 这个文件。权限申请想要使用AudioRecord这个API&#xff0c;需要在AndroidManifest.xml的配…

Spring 3和Java EE 6 –不公平和不完整的比较

这篇小文章的初稿标题为“ Spring&#xff06;Java EE –比较苹果和橙子”。 在撰写本文时&#xff0c;我了解到可以比较Spring Framework和Java EE&#xff0c;但这始终是不公平且不完整的工作。 Java for Enterprise和Spring Framework的发展紧密地联系在一起。 两者相互依存…

xml配置文件推荐方式

1.XML帮助类 /// <summary>/// Xml帮助类/// </summary>public class XmlHelper{/// <summary>/// 保存xml/// </summary>/// <typeparam name"T"></typeparam>/// <param name"path"></param>/// <p…

AFNetWorking https SSL认证

一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 。 我们还需要防止中间人攻击&#xff08;不明白的自己去百度&#xff09;。攻击者通过伪造的ssl证书使app连接到了伪装的假冒的…

查看环境列表_Xfce 4.14桌面环境正式发布,想要图形界面又想节省内存?就它了...

1. Xfce 4.14桌面环境正式发布&#xff0c;它有什么新特性&#xff1f;本文主要讲解Xfce 4.14桌面环境正式发布&#xff0c;它有什么新特性。Xfce已经开发了4年多&#xff0c;但是这个周末终于看到了期待已久的Xfce 4.14的发布。Xfce 4.14是这个轻量级桌面环境的最新稳定版本&a…

使用Log4jdbc记录JDBC操作

当我们开发任何应用程序&#xff0c;完成它或结束其任何模块时&#xff0c;我们都会开始优化过程。 大多数应用程序都包含数据库访问权限&#xff0c;并且如果您使用的是ORM &#xff0c;则可能会使用hibernate 。 优化休眠持久层&#xff0c;要求准备阅读&#xff0c;理解和评…

android BluetoothAdapter蓝牙BLE扫描总结

做室内定位的程序员应该都知道&#xff0c;在Android 5.0之后&#xff0c;google推出了蓝牙扫描新接口&#xff0c;我们在实测中发现出一些问题&#xff0c;现在给大家列出&#xff0c;以供参考&#xff1a; 1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLe…

卷积神经网络语音识别_用于物体识别的3D卷积神经网络

本文提出了一种基于CNN的3D物体识别方法&#xff0c;能够从3D图像表示中识别3D物体&#xff0c;并在比较了不同的体素时的准确性。已有文献中&#xff0c;3D CNN使用3D点云数据集或者RGBD图像来构建3D CNNs&#xff0c;但是CNN也可以用于直接识别物体体积表示的体素。本文中&am…

段落排版--对齐(text-aliagn)

想为块状元素中的文本、图片设置居中样式吗&#xff1f;可以使用text-align样式代码&#xff0c;如下代码可实现文本居中显示。(那么什么是块状元素呢&#xff1f;后面会讲到呢~) h1{text-align:center; } <h1>了不起的盖茨比</h1> 同样可以设置居左&#xff1a; h…

Java 7:在不丢失数据的情况下关闭NIO.2文件通道

关闭异步文件通道可能非常困难。 如果您将I / O任务提交到异步通道&#xff0c;则需要确保正确执行了任务。 实际上&#xff0c;出于多种原因&#xff0c;这对于异步通道可能是一个棘手的要求。 默认的通道组使用守护进程线程作为工作线程&#xff0c;这不是一个好选择&#xf…

JavaScript封装方法,兼容参数类型为Number和String

/*** 依据Kind确定跳转到目标列表页面。* param kind*/function gobackByKind(kind) {var kindStr String(kind);switch(kindStr){case "1"://跳转到客户列表页面window.location.href/biz/customer/list;break;case "2"://跳转到代理机构列表页面window.…

#获得请求来源ip_以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解

以太网首部目地MAC地址(8字节)源MAC地址(8字节)类型(2字节)1、IP头的结构版本(4位)头长度(4位)服务类型(8位)封包总长度(16位)封包标识(16位)标志(3位)片断偏移地址(13位)存活时间(8位)协议(8位)校验和(16位)来源IP地址(32位)目的IP地址(32位)选项(可选)填充(可选)数据(1)字节和…