学习笔记︱深度学习以及R中并行算法的应用(GPU)
笔记源于一次微课堂,由数据人网主办,英伟达高级工程师ParallerR原创。大牛的博客链接:http://www.parallelr.com/training/
由于本人白痴,不能全部听懂,所以只能把自己听到的写个小笔记。
一、GPU的基本概念
GPU计算比CPU计算要快很多,计算机用GPU会大大加大速度
问题:现在不是有量子计算,GPU与其有什么区别?那么量子计算是否比GPU更能是明日之星呢?
CPU 中ALU只有四个,虽然大,但是control与cache占比较大;而GPU又很多,虽然小,但是control,cache占比小,所以更有优势,有长尾效应。用非常大量的小单元来加快运行速度。
GPU模式
CPU做逻辑运算时,比较好,但是当遇见特别密集型、单一的计算网格时,就会使用GPU进行计算。所以GPU与CPU是相互配合进行计算。
GPGPU使用方法(GPU本来是处理图像的,现在GPU升级,可以处理一些计算)
1、已有的GPU库,我们直接调用API,最容易最简单,因为我们不需要知道GPU的使用内容,缺点:但是需要开发者,很清晰了解算法本身,知道哪些可以用GPU进行计算,哪些不用,不然会很乱。
2、编译器,通过一些方法把我们的算法自动GPU化,然后跑到程序里面去;
3、算法完全用GPU重写,成本最高,但是这个算法能够很效率。CUDA
二、GPU计算应用到R语言之中
R速度慢,是解释性语言,一条命令,先编译成指令,然后传输到CPU进行计算;
编译性语言可以直接访问CPU等,
内存不够,先读入R内存,然后再进行计算,对于R的存储有要求。
R与GPU结合
一般有GPU package,一般有三种方法:library、cuda
Cuda的库,可用性很强,
两个例子:
BLAS、FFT包
1、blas包
矩阵计算,需要R先预编译,下面的网址有编译的手法。只能在linux下运行。
http://www.parallelr.com/r-hpac-benchmark-analysis/
2、FFT
https://devblogs.nvidia.com/parallelforall/accelerate-r-applications-cuda/
调用已有GPU的库,中高级使用者;遇到性能问题的可以选
要写interface function
学习笔记︱深度学习以及R中并行算法的应用(GPU)的更多相关文章
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug
cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/ ...
- 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...
- ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则
ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...
- 20155234 2610-2017-2第九周《Java学习笔记》学习总结
20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...
- #学习笔记#e2e学习使用(二)
前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...
- 20155234 2016-2017-2第十周《Java学习笔记》学习总结
20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...
- #学习笔记#e2e学习使用(一)
本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...
- mybatis学习笔记之学习目录(1)
mybatis学习笔记之学习结构(1) 学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发 ...
随机推荐
- 02-创建 TLS CA证书及密钥
创建 TLS CA证书及密钥 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate ...
- [Bug] 解决 Sql Server 数据库死锁问题
SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tra ...
- substr与substring的用法
substr substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符. 语法 str.substr(start[, length]) 参数 strat 开始提取字符的位置.如果为负值, ...
- js实现文本框输入文字个数限制代码
html: <div class="curr_eval_box"> <input type="hidden" n ...
- 安装php扩展phpredis
下载phpredis-master.tar.gz下载地址:http://pan.baidu.com/s/1i37R8TB 解包tar zxvf phpredis-master.tar.gzcd php ...
- 纯静态界面中(html)中通过js调用dll中的方法从数据库中读取数据
最近接到一个离职员工的任务,一个搭好框架的ERP系统,看了两天,说一下看到的东西,整个项目目录中我没发现一个.aspx后缀的文件,全是静态HTML文件,之后发现他用的jquery简直看的头疼,不过大概 ...
- CAS基础和原子类
基于CAS实现的AtomicInteger. AtomicLong. AtomicReference. AtomicBoolean也被称为乐观锁. CAS的语义是“我认为V的值应该为A,如果是,那么将 ...
- BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 [高斯消元 概率DP]
1778: [Usaco2010 Hol]Dotp 驱逐猪猡 题意:一个炸弹从1出发p/q的概率爆炸,否则等概率走向相邻的点.求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就 ...
- qt 移植到开发板
一.准备工作: 1.QT应用程序 2.工具链--->交叉工具链一安装,就会有标准的c库 3.扩展的第三方库(ARM)()触摸屏库(tslib.tar.gz) 4.QT库 二.使用交叉工具链编译t ...
- 安装kvm模块配置网络
1. vmware安装centos6.6 64位 (略) 其中有几个注意的地方:a. 内存给2gb. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,cpu ...