翻译自:https://blogs.nvidia.com/blog/2012/09/10/what-is-cuda-2/

你可能并没有意识到,GPU的应用有多广泛,它不但用于视频、游戏以及科学研究中,我们的日常生活正在逐渐被GPU计算(GPU Computing)影响。

移动应用依赖于云端服务器上运行的GPU。商店使用GPU来分析零售数据和网络数据。网站使用GPU更精准的投放广告。计算机辅助的工程应用中工程师要依赖于GPU。使用GPU来加速计算的应用范围在不断扩张。

它不再只是高性能计算(High Performance Computing)领域的东西,使得CUDA的优势凸显。

So, What is Cuda?

即使对CUDA的兴趣广泛扩张,但是当我穿越美国培训研究人员和学生关于CUDA加速的优势时,总是会被问到一个问题:What is CUDA?

大多数人误认为CUDA是一种语言或者一种API,但是不是。

CUDA不仅仅是那些,它是一个并行计算平台,是一个能够更简单、优雅的使用GPU进行通用计算的计算模型。开发人员仍然可以使用他们熟悉的C\C++\Fortran以及对这些语言进行扩展的关键字进行编程。这些关键字使得开发人员能够表达大量的并行化信息,指导编译器将应用中指定的部分映射到GPU。

一个简单的代码实例如下。左图是用普通的C写的,右图使用CUDA扩展后的C。

更多的CUDA学习资源:https://developer.nvidia.com/how-to-cuda-c-cpp

[译博文]CUDA是什么的更多相关文章

  1. CUDA和OpenGL互操作经典博文赏析和学习

    1.使用cuda+opengl图形互操作性实现MPR.原学位论文学习:实时交互的医学图像可视化.在该论文的第5.1.1节. 2.cuda与opengl互操作之PBO 3.cuda与opengl互操作之 ...

  2. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  3. [CUDA] CUDA to DL

    又是一枚祖国的骚年,阅览做做笔记:http://www.cnblogs.com/neopenx/p/4643705.html 这里只是一些基础知识.帮助理解DL tool的实现. “这也是深度学习带来 ...

  4. CUDA程序设计(一)

    为什么需要GPU 几年前我启动并主导了一个项目,当时还在谷歌,这个项目叫谷歌大脑.该项目利用谷歌的计算基础设施来构建神经网络. 规模大概比之前的神经网络扩大了一百倍,我们的方法是用约一千台电脑.这确实 ...

  5. [译]:Orchard入门——部件管理

    原文链接:Managing Widgets 在Orchard中,部件是可以加入到当前当前主题任何位置或区域(如侧栏sidebar或底部区域footer)的UI块(如:HTML)或代码部分(如:内容部分 ...

  6. [译]:Orchard入门——给网站添加新博客

    原文链接:Adding a Blog to Your Site 文章内容基于Orchard 1.8版本 Orchard提供一个博客引擎--这让添加一个新博客到你网站变得非常容易. 本文将介绍怎样添加一 ...

  7. [译]:Orchard入门——导航与菜单

    原文链接:Navigation and Menus 文章内容基于Orchard1.8版本.同时包含Orchard 1.5之前版本的导航参考 Orchard有许多不同的方法来创建菜单.本文将介绍两种较为 ...

  8. [译]:Orchard入门——Orchard控制面板概览

    原文链接:Getting Around the Dashboard 文章内容基于Orchard 1.8版本 Orchard控制面板用于管理网站.改变外观.添加内容以及控制Orchard功能可用性.成功 ...

  9. CUDA ---共享存储器

    原文地址:http://www.cnblogs.com/1024incn/p/4605502.html shared memory在之前的博文有些介绍,这部分会专门讲解其内容.在global Memo ...

随机推荐

  1. redis 5.0 CLUSTERDOWN The cluster is down

    安装 redis 集群,设置值报错,错误信息:redis 5.0  CLUSTERDOWN The cluster is down. 这个是由于安装错误导致的,需要重新进行 修复一下. 命令如下: [ ...

  2. redux reducer笔记

    踩坑一,reducer过于抽象 reducer写得没那么抽象也不会有人怪你的.^_^ reducer其实只有一个,由不同的reducer composition出来的.所以, reducer的父作用域 ...

  3. MySQL CentOS7 手动安装

    手动安装MySQL的目的: 1.一个服务器上可以同时装多个版本,甚至相同版本MySQL的多个实例,这种需求很常见: 2.一次初始化和配置后,可以快速复制到本服务器或其他服务器,及封装为初始MySQL的 ...

  4. Objective-C中的@dynamic 、@synthesize

    Objective-C中的@dynamic 一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synth ...

  5. 【RAC】 RAC For W2K8R2 安装--dbca创建数据库(七)

    [RAC] RAC For W2K8R2 安装--dbca创建数据库(七) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  6. python爬虫系列:三、URLError异常处理

    1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常. ...

  7. Python学习日记(三十五) Mysql数据库篇 三

    使用Navicate 创建一个连接去使用Mysql的数据库,连接名可以取任意字符但是要有意义 新增一个数据库 填写新数据库名,设置它的字符集和排序规则 新建一个表 增加表中的信息 点击保存再去输入表名 ...

  8. go调度: 第一部分-OS调度(操作系统调度)

    开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - ...

  9. 交换机 VLAN 的划分

    交换机怎么划分VLAN?本次的实验很简单,就是通过VLAN的划分,使不同VLAN之间无法通信,但是相同VLAN不受影响. 实验拓扑 在一台交换机下连接三台VPC,划分VLAN,地址规划如下: 名称 接 ...

  10. echarts 如何设置热力图点的大小

    series: [{ name: 'AQI', type: 'heatmap', coordinateSystem: 'geo', blurSize: 10, pointSize: 10, // 设置 ...