⑴ 并行计算,有没有人会这个
我会。
入门的话推荐你学习下MPI编程,
目前并行计算基本上有:MPI、OPENMP、OPENCL、OPENGL、CUDA
你只是想体验的话用OPENMP最省事了,一句话就可以达到并行的效果
代码我可以给你,但你要配好环境。先给你裸敲一个hello world的MPI程序吧
#include<stdio.h>
#include<mpi.h>
intmain(intargc,char*argv[])
{
intmypid,numprocs;
MPI_Init(&argc,&argv);//并行开始
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);//获取进程数
MPI_Comm_rank(MPI_COMM_WORLD,&mypid);//获取本进程ID号
printf("helloworld!iam%dprocessof%dprocesses",mypid,numporcs);
MPI_Finalize();//并行结束
}
这就是MPI版的hello world 程序,你需要在编译的时候确定同时打开几个进程,比如说4个,程序可能运行结果为:
hello world! i am 2 process of 4 processes
hello world! i am 1 process of 4 processes
hello world! i am 0 process of 4 processes
hello world! i am 3 process of 4 processes
为什么说可能呢,因为四个进程同时在执行上面的那段代码,哪个进程先结束哪个就先输出就这个道理。
想学并行编程的话,建议你在linux下学习。
望采纳
⑵ CUDA架构的简介
NVIDIA®(英伟达™) CUDA™是一款革命性的并行计算架构。作为一项同时支持硬件和软件的技术,CUDA 可利用图形处理器中的多颗计算核心进行通用计算处理工作,计算性能可获得显着提升。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。 将来还会支持其它语言,包括FORTRAN以及C++。计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA®(英伟达™)发明了CUDA并行计算架构,该架构现已应用于GeForce®(精视™)、ION™(翼扬™)、Quadro以及Tesla GPU(图形处理器)上,对应用程序开发人员来说,这是一个巨大的市场。
在消费级市场上,几乎每一款重要的消费级视频应用程序都已经使用CUDA加速或很快将会利用CUDA来加速,其中不乏Elemental Technologies公司、MotionDSP公司以及LoiLo公司的产品。
在科研界,CUDA一直受到热捧。例如,CUDA现已能够对AMBER进行加速。AMBER是一款分子动力学模拟程序,全世界在学术界与制药企业中有超过60,000名研究人员使用该程序来加速新药的探索工作。
在金融市场,Numerix以及CompatibL针对一款全新的对手风险应用程序发布了CUDA支持并取得了18倍速度提升。Numerix为近400家金融机构所广泛使用。
CUDA的广泛应用造就了GPU计算专用Tesla GPU的崛起。全球财富五百强企业现在已经安装了700多个GPU集群,这些企业涉及各个领域,例如能源领域的斯伦贝谢与雪佛龙以及银行业的法国巴黎银行。
随着微软Windows 7与苹果Snow Leopard操作系统即将问世,GPU计算必将成为主流。在这些全新的操作系统中,GPU将不仅仅是图形处理器,它还将成为所有应用程序均可使用的通用并行处理器。
⑶ cuda并行程序设计 gpu编程指南
你好,
首先,cg,opengl,glsl都是跟计算机图形有关的。cg基本是做渲染的,opengl是一个开源图形库,和微软的direct3d是一样的。glsl是shading
language
,专门用来写shader的,在gpgpu(
general
purpose
gpu)概念出来之前,好多人用glsl来做并行计算。
其次,cuda和opencl是两个专门做gpu运算的库。cuda非常好用,它有自己的nvcc编译器,和各个系统都兼容很好,但是仅限于用于nvidia自己的显卡。opencl虽然任何显卡都可以使用,但是它的gpu的代码要放到单独的一个文本文件中编译,操作上要比cuda要复杂。
最后,其实cuda和opencl学那个多一样,因为并行运算的思想是一样的。推荐你两本书:
1.
programming
massively
parallel
processors
2nd(入门)
2.
cuda
programming
a
developer-'s
guide
to
parallel
computing
with
gpus
(高级一点)
谢谢,望采纳
⑷ 有没有一本讲解gpu和CUDA编程的经典入门书籍
CUDA自带的编程手册就是最好的书籍,因为目前市场上你看到的精典书籍,对于一些架构的描述都已经过时了,怕你看完,如果对架构原理了解不透彻,反而容易误入歧途,走火入魔。