简化并行开发NVIDIA宣布CUDA 4.0

NVIDIA公司今天宣布了新版GPU通用计算开发包CUDA 4.0,主要改进方向是简化并行编程,让更多开发人员能够将应用程序移植到GPU平台。

CUDA 4.0的三大主要特性包括:

GPUDirect 2.0技术GPUDirect 1.0主要用于高性能计算集群应用,方便不同节点之间的GPU相互联系,而GPUDirect 2.0则面向节点内应用,即多GPU并联系统。同一节点内的多块GPU可以不经过CPU、住内存,直接交换各自显存中的数据。

统一虚拟寻址(UVA)简化通用计算编程中的寻址空间设计,开发者不需要再考虑CPU和各个GPU各自的内存空间,而是整合为一个统一的内存寻址空间,大大简化并行编程。

Thrust C++模板高性能基元库能够提供一系列开源C++并行算法和数据结构,这些内容能够让C++开发人员更轻松的使用CUDA编程。与使用标准模板库(STL)以及线程构件(TBB)时相比,Thrust中并行排序等算法的速度可提升5至100倍。

除此之外,CUDA 4.0的新特性还包括:

MPI与CUDA应用程序相结合。当应用程序发出MPI收发调用指令时,例如OpenMPI等MPI软件可通过Infiniband接口自动收发显卡显存数据。

GPU多线程共享。多个CPU主线程能够在一颗GPU上共享运行环境。

单CPU线程共享多GPU。一个CPU主线程可以访问系统内的所有GPU。

全新的NPP图像与计算机视觉库。

新增、改良的功能

Visual Profiler中的自动性能分析功能

Cuda-gdb中的新特性以及新增了对Mac OS的支持

新增了对C++特性的支持,这些特性包括新建/删除以及虚拟等功能

新版GPU二进制反汇编程序

CUDA 4.0在硬件上需要Fermi架构GPU才能够提供完整支持,操作系统方面则仍然支持Windows、Mac OS X、Linux等系统。3月4日起,CUDA注册开发者计划会员将可以免费下载CUDA Tool Kit 4.0 RC发布候选版。

原文链接:http://news.mydrivers.com/1/187/187400.htm

时间: 2024-10-24 08:34:19

简化并行开发NVIDIA宣布CUDA 4.0的相关文章

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 5.0 简介

AgileEAS.NET简介  AgileEAS.NET平台(简称EAS.NET平台)是以"敏捷并行开发方法"为其过程指导思想.基于Microsoft .Net构件技术和模型驱动架构的企业级快速开发平台,AgileEAS.NET使的构建企业级分布式应用系统变得简单,它提供了可灵活扩展应用架构,并且革命性的改变了软件的生产方式,用于帮助中小型软件企业建立一条适合快速变化的开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的. AgileEAS.NET介绍 AgileEAS.

[原创] EasyASP v1.5简化ASP开发,包含数据库操作类

EasyASP v1.5简化ASP开发,包含数据库操作类 EasyASP是一个方便快速开发ASP的类,其中包含了一个数据库控制类(原clsDbCtrl.asp,对原代码作了优化和修改,包含对数据库的各类操作及存储过程的调用,全部封装在Easp.db中,使用起来会更方便,调用也更简单).而Easp类中提供了大量实用的ASP通用过程及方法,可以简化大部分的ASP操作.目前只提供了VBScript版,JScript版将来可能会提供.详细说明请下载帮助手册,里面有非常详细的使用方法说明及源码范例. 源码

使用Websharp Service Locator简化分布式系统开发

web|分布式 使用Websharp Service Locator 简化分布式系统开发 什么是Websharp Service Locator对于多层的应用系统来说,我们通常把它们划分成客户端.应用服务层和数据库.在应用服务层,我们需要考虑至少两个方面的问题: ü 如何实现业务逻辑 ü 如何向客户端提供服务. 我们可能使用多种技术来实现服务的提供:Webservice..Net Remoting.甚至EJB等.如此多的实现技术,带来的很大的灵活性,但同时也带来了问题,其中一个就是,有多少种服务

8天玩转并行开发——第一天 Parallel的使用

      随着多核时代的到来,并行开发越来越展示出它的强大威力,像我们这样的码农再也不用过多的关注底层线程的实现和手工控制, 要了解并行开发,需要先了解下两个概念:"硬件线程"和"软件线程".   1. 硬件线程     相信大家手头的电脑都是双核以上的,像我这样古董的电脑都是双核的,这样的双核叫做物理内核.   硬件线程又叫做逻辑内核,我们可以在"任务管理器"中查看"性能"标签页,如下图,我们知道有2个硬件线程.    

8天玩转并行开发——第八天 用VS性能向导解剖你的程序

原文:8天玩转并行开发--第八天 用VS性能向导解剖你的程序            最后一篇,我们来说说vs的"性能向导",通常我们调试程序的性能一般会使用Stopwatch,如果希望更加系统的了解程序,我们就需要 用到"性能向导",通过性能报告便于我们快速的发现并找到潜在的性能问题.   首先我们上一段需要改进的代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq;

8天玩转并行开发——第六天 异步编程模型

原文:8天玩转并行开发--第六天 异步编程模型             在.net里面异步编程模型由来已久,相信大家也知道Begin/End异步模式和事件异步模式,在task出现以后,这些东西都可以被task包装 起来,可能有人会问,这样做有什么好处,下面一一道来.   一: Begin/End模式 1: 委托     在执行委托方法的时候,我们常常会看到一个Invoke,同时也有一对你或许不常使用的BeginInvoke,EndInvoke方法对,当然Invoke方法 是阻塞主线程,而Begi

8天玩转并行开发——第七天 简要分析任务与线程池

原文:8天玩转并行开发--第七天 简要分析任务与线程池          其实说到上一篇,我们要说的task的知识也说的差不多了,这一篇我们开始站在理论上了解下"线程池"和"任务"之间的关系,不管是 说线程还是任务,我们都不可避免的要讨论下线程池,然而在.net 4.0以后,线程池引擎考虑了未来的扩展性,已经充分利用多核微处理器 架构,只要在可能的情况下,我们应该尽量使用task,而不是线程池.   首先看一下task的结构 从图中我们可以看出Task.Factor

AOP之PostSharp7-解决IOC 不能直接new问题,简化IOC开发和IOC对象LazyLoad

    经过几节的postsharp基础和每节的一个应用实例,已经基本PostSharp应用的能力,PostSharp主要是简化我们的开发,让编译器时候给我注入重复疲劳代码.      在今天我们的demo是,关于ioc(控制反转)的问题,ioc框架我们都会从ioc容器中取得我们的ioc对象注入,所以我们不能直接new对象得到我们的实例,必须Resolve.我一直都是很懒得人,既然有了PostSharp就的好好利用起来.大部份ioc逻辑是从以前的一篇利用Attribute简化Unity框架IOC

8天玩转并行开发——第三天 plinq的使用

原文:8天玩转并行开发--第三天 plinq的使用        相信在.net平台下,我们都玩过linq,是的,linq让我们的程序简洁优美,简直玩的是爱不释手,但是传统的linq只是串行代码,在并行的 年代如果linq不支持并行计算那该是多么遗憾的事情啊.    当然linq有很多种方式,比如linq to sql ,xml,object 等等,如果要将linq做成并行还是很简单的,这里我就举一个比较实际一点的例子, 我们知道为了更快的响应用户操作,码农们想尽了各种办法,绞尽了脑汁,其中有一