⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseattrwin.c

📁 mpi并行计算的c++代码 可用vc或gcc编译通过 可以用来搭建并行计算试验环境
💻 C
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * *  (C) 2001 by Argonne National Laboratory. *      See COPYRIGHT in top-level directory. */#include <stdio.h>#include "mpi.h"#include "mpitest.h"int main( int argc, char **argv){    int    errs = 0;    void *v;    int  flag;    int  rank, size;    int base[1024];    MPI_Aint n;    int     disp;    MPI_Win win;    MTest_Init( &argc, &argv );    MPI_Comm_size( MPI_COMM_WORLD, &size );    MPI_Comm_rank( MPI_COMM_WORLD, &rank );    /* Create a window; then extract the values */    n    = 1024;    disp = 4;    MPI_Win_create( base, n, disp, MPI_INFO_NULL, MPI_COMM_WORLD, &win );    MPI_Win_get_attr( win, MPI_WIN_BASE, &v, &flag );    if (!flag) {	errs++;	fprintf( stderr, "Could not get WIN_BASE\n" );    }    else {	if ((int*)v != base) {	    errs++;	    fprintf( stderr, "Got incorrect value for WIN_BASE (%p, should be %p)", 		     v, base );	}    }    MPI_Win_get_attr( win, MPI_WIN_SIZE, &v, &flag );    if (!flag) {	errs++;	fprintf( stderr, "Could not get WIN_SIZE\n" );    }    else {	MPI_Aint vval = *(MPI_Aint*)v;	if (vval != n) {	    errs++;	    fprintf( stderr, "Got wrong value for WIN_SIZE (%ld, should be %ld)\n", 		     (long) vval, (long) n );	}    }    MPI_Win_get_attr( win, MPI_WIN_DISP_UNIT, &v, &flag );    if (!flag) {	errs++;	fprintf( stderr, "Could not get WIN_DISP_UNIT\n" );    }    else {	int vval = *(int*)v;	if (vval != disp) {	    errs++;	    fprintf( stderr, "Got wrong value for WIN_DISP_UNIT (%d, should be %d)\n",		     vval, disp );	}    }    MPI_Win_free(&win);    MTest_Finalize( errs );    MPI_Finalize( );        return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -