- 博客(12)
- 资源 (17)
- 收藏
- 关注
原创 MPI通信的启动时间测试
MPI通信,的确存在通信的启动时间。。#include "mpi.h"#include #include #include #include int main(int argc, char **argv){ int i, myid, numprocs; double start, end; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MP
2011-05-24 22:00:00 2761
原创 MPI + C 广播操作
1、将主进程数组中的一个元素,广播,在其它进程数组的相应位置输出。#include "mpi.h"#include const int N = 10;int main (int argc, char *argv[]) { int i, rank, numprocs, master; int dp[N]; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WOR
2011-05-22 15:10:00 2736
原创 MPI + FORTRAN 数据的收集测试
1、将一个三维数组ufew的计算域[ib:ie, jb:je, kb:ke]沿K方向分段,各进程均分计算域,然后对各自计算域内的部分数组赋值。2、最后一个进程,收集各个计算域的值,最后输出,消息传递采用标准的阻塞式通信。3、本程序中,每个进程都拥有完整的数组ufew。 program main implicit none include 'mpif.h' integer i,j,k,nn integer ib,ie,jb,je,kb,ke integ
2011-05-21 20:47:00 9658
原创 FORTRAN 函数子程序 求二维数组主对角元素和
program main integer,parameter::imax = 4, jmax = 5, N = imax*jmax integer i,j real arr(N) do i = 1, N arr(i) = i enddo do i = 1, imax do j = i, N, imax
2011-05-19 14:28:00 3326
原创 MPI_gather/MPI_gatherv测试
每个进程上都有一组数据,将它们收集到进程编号为root的进程中,并按进程编号的顺序存放 pragram gather include 'mpif.h' integer maxbuf, len, mp integer,parameter::maxbuf = 200, len = 10, mp = 5 integer myid, p, mycomm, ierr, root, ia(len), iga(maxbuf), & i, displs(mp), counts(mp)
2011-05-18 12:51:00 7403
原创 OpenMP 测试程序
<br />#include <omp.h>#include <stdio.h>int main(int argc, char * argv[]){ int nthreads, tid, x; int nthrds = 4; x = 0; omp_set_num_threads(nthrds); #pragma omp parallel private(tid) { tid = omp_get_thread_num(); printf("Hello world
2011-05-17 20:27:00 1384
原创 MPI + FORTRAN 非阻塞通信交换数组边界测试程序
我写了个测试程序,一维情况下是正确的,功能如下:1、每个进程初始化一个数组,全部赋值为进程的IDk号:arr(i) = myid;2、然后各进程将数组的计算域均分,每个进程的计算域为[dp(myid),dp(myid+1)),左闭右开;3、相邻进程,交换数组的边界,采用非阻塞通信方式;4、输出自已计算域内的数组元素; program main! implicit none include 'mpif.h' integer, parameter::imax = 1, jmax = 1, kmax
2011-05-12 16:41:00 2580
原创 MPI_ALLreduce函数
此函数和MPI_Reduce的意思相同,只是最后结果在所有的进程中。相当于先做MPI_Reduce,然后再做MPI_Scatter. program main include "mpif.h" integer max0, max1, myid, ierr call MPI_INIT(ierr) call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr) max0 = m
2011-05-11 10:01:00 10949 1
原创 FORTRAN 中的goto/exit/cycle
1,gotogoto 在Fortran77中就流传下来了,它提供一个任意跳跃到所赋值行代码的位置,如果是在一个do 循环中如do 30 i=1,N if(……) goto 3030 continue 上语句的意思就是如果符合if里的条件,则会进行下一次循环。2,pausepause的功能就能跟它的字面意思相同,程序执行到pause 时,会暂停执行,直到用户按下Enter键才会继续执行。3. continuecontinue这个命令没有实际的用途,它的功能就是 继续向下执行程序4,stop它可用来结束程
2011-05-10 19:15:00 21920
原创 三维数组在内存的中的存储结构
在FORTRAN中,数组在内存中是按列连续存储的;一个数组在内存中也是连续的。对一个三维数组array(x, y, z)来说,x ,y, z分别表示的数组的行、列、页标,在内存中按列连续存储,每一个页面上的元素在内存中的地址也是连续的。 目前的计算机硬件体系结构决定了在读取大批量数据时,如果这一批数据都位于监控的内存中,读取操作会执行的较快。因此,在特定的情况下,我们可能通过程序的执行时间,来验证数组的在内存的中的存储结构。 module variable in
2011-05-08 12:10:00 13387
原创 FORTRAN 数组的下标问题
<br /> <br /> 在FORTRAN中,每个维说明符由冒号分开的维下界和维上界两部分组成,一般形式为d1:d2;维的上、下界确定数组元素下标的取值范围。当下界d1为1时可以省略,此时冒号也可以省略,如s(1:2,1:2)与s(2,2)是相同的说明符。另外,维的上下界可以自由指定,如arr(-3, 5)。<br /> program main integer i integer b(-3:10) do i = -3, 10
2011-05-08 10:41:00 8574
原创 MPI + FORTRAN 发送接收数组操作
在FORTRAN 中,以二维数组为例,arr(i, j)既可以表示第i行j列的元素值,也可以表示其地址,这样,我们就可以发送接收连续的序列。下面的代码,是将0号进程中数组的第一列发送到1号进程中数组的第二列,并且输出数组的值。采用标准的阻塞式通信。发送接收前的大部分输出操作,只是为了验证数组的存取细节,并无必要。。 program main include "mpif.h" integer, parameter:: n = 3 integer myid, numprocs, i, j,
2011-05-05 10:12:00 5925
DigitalMediaRescuePro 数据恢复绿色版
2011-08-08
[xen源码分析的文档]xen分析.pdf
2011-03-21
数据恢复R-Studio破解版
2010-09-15
《Efficient Memory Sharing in the Xen Virtual Machine Monitor》
2010-07-31
《Linux内核源代码情景分析》阅读心得
2010-07-31
Xen Virtualization A Practical Handbook
2010-03-17
Running Xen A Hands-On Guide to the Art of Virtualization
2010-03-17
[pdf]The book of xen
2010-03-17
linux操作系统下XEN的安装与配置
2009-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人