MPI的奇偶排序

奇偶排序是什么? 冒泡大家都知道吧, 奇偶排序就是一种特殊的冒泡,它可以用来实现并行化的排序. 以下的MPI程序使用奇偶排序来排序数组, 数组的每一段由各进程在本地生成. #include <mpi.h> #include <string.h> #include <stdio.h> #define LOCAL_SIZE 5 int elements[LOCAL_SIZE]; int releme Read more

MPI 死锁实验

利用下面这样一段代码, MPI貌似就会死锁. 两个进程,分别向对方发送一个数组,并且接收对方传过来的数组.但由于两者都是先发送,所以一开始没有成对的Send/Recv. #include <mpi.h> #include <stdio.h> int main(int argc,char *argv[]) { int a[10],rank; int b[10],i; MPI_Status status; for(i= Read more

并行计算中的规约操作

以数组加为例, 有16个整数需要进行相加,那么在单核的CPU上,需要进行15次操作,而使用并行的规约操作,则可以将时间复杂度降为log(n)即4次. 其过程如下: Step 1: Step 2: Step 3: Step 4: Result: 规约,就是将线性O(n)的过程,简化为一个log(n)的过程,除了矩阵求和之外,也可以处理求矢量分量的最大值最小值问题,是并行计 Read more

VS2010 AMD OpenCL 开发环境配置, 32位+64位

首先你要装好催化剂显卡驱动。 下载AMP APP SDK安装包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安装AMD APP SDK,如图0。 安装完之后重新启动。 首先知道一下安装的位置,我这里按默认装在了 C:\Program Files (x86)\AMD APP\ ,如图1。 图1 系统安装的时候系统已经设置了一个环境变量AMDAPPSDKROOT来指示安装的 Read more

云计算学习: EC2 Eucalyptus MapReduce Hadoop SaaS PaaS IaaS等名词之间的关系和区别

什么是云计算?从最早的概念炒作到现在,云计算已经出现了一些切实可行的计算平台方案。 当前的云计算服务分为三种方式: Software as a Service(SaaS) 软件即服务,大家使用的WebQQ就是一个例子,Gmail也是个例子,服务商提供软件给用户使用,和传统的C/S架构一致。 Platform as a Service (PaaS) 平台即服务,典型的代 Read more

NVIDIA GPU计算配置:在Archlinux上安装cuda OpenCL

上次看到lv某人使用yaourt,发现无比强大,我yaourt之后,发现cuda在里面,觉得有搞头,于是在一台xw9000的工作站上安装了cuda。虽然这台机器cpu有点多,内存也稍微有点大,但我们都看不上,而主要是用其中的显卡进行GPU计算。闲言少叙,下面是正式过程。 NVIDIA的显卡上,cuda装好opencl就自然有了,所以装cuda=装openc Read more