笔记源于一次微课堂,由数据人网主办,英伟达高级工程师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)的更多相关文章

  1. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  2. cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

    cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/ ...

  3. 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整

    今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...

  4. 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 ...

  5. 20155234 2610-2017-2第九周《Java学习笔记》学习总结

    20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...

  6. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

  7. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  8. #学习笔记#e2e学习使用(一)

    本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...

  9. mybatis学习笔记之学习目录(1)

    mybatis学习笔记之学习结构(1) 学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发 ...

随机推荐

  1. 02-创建 TLS CA证书及密钥

    创建 TLS CA证书及密钥 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate ...

  2. [Bug] 解决 Sql Server 数据库死锁问题

    SELECT request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName FROM sys.dm_tra ...

  3. substr与substring的用法

    substr substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符. 语法 str.substr(start[, length]) 参数 strat 开始提取字符的位置.如果为负值, ...

  4. js实现文本框输入文字个数限制代码

    html: <div class="curr_eval_box">                <input type="hidden" n ...

  5. 安装php扩展phpredis

    下载phpredis-master.tar.gz下载地址:http://pan.baidu.com/s/1i37R8TB 解包tar zxvf phpredis-master.tar.gzcd php ...

  6. 纯静态界面中(html)中通过js调用dll中的方法从数据库中读取数据

    最近接到一个离职员工的任务,一个搭好框架的ERP系统,看了两天,说一下看到的东西,整个项目目录中我没发现一个.aspx后缀的文件,全是静态HTML文件,之后发现他用的jquery简直看的头疼,不过大概 ...

  7. CAS基础和原子类

    基于CAS实现的AtomicInteger. AtomicLong. AtomicReference. AtomicBoolean也被称为乐观锁. CAS的语义是“我认为V的值应该为A,如果是,那么将 ...

  8. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡 [高斯消元 概率DP]

    1778: [Usaco2010 Hol]Dotp 驱逐猪猡 题意:一个炸弹从1出发p/q的概率爆炸,否则等概率走向相邻的点.求在每个点爆炸的概率 高斯消元求不爆炸到达每个点的概率,然后在一个点爆炸就 ...

  9. qt 移植到开发板

    一.准备工作: 1.QT应用程序 2.工具链--->交叉工具链一安装,就会有标准的c库 3.扩展的第三方库(ARM)()触摸屏库(tslib.tar.gz) 4.QT库 二.使用交叉工具链编译t ...

  10. 安装kvm模块配置网络

    1. vmware安装centos6.6 64位 (略) 其中有几个注意的地方:a. 内存给2gb. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件c. 最关键的一步,在创建虚拟机时,cpu ...