1
1

This directory was supposed to be private ... it does not have to be published on the SVN.

This commit was SVN r5819.
Этот коммит содержится в:
George Bosilca 2005-05-23 16:10:33 +00:00
родитель ca64115b14
Коммит 6740270ace
14 изменённых файлов: 0 добавлений и 1138 удалений

Просмотреть файл

@ -1,36 +0,0 @@
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# All rights reserved.
# Copyright (c) 2004 The Ohio State University.
# All rights reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
PROGS = mpi-ping
all: $(PROGS)
CC = mpicc
CFLAGS = -g
clean:
rm -f $(PROGS)
#mpi-ping-thread: mpi-ping-thread.c
# $(CC) -pthread $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) -lpthread
mpi-ping: mpi-ping.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS)
run-ping: mpi-ping
mpirun -np 2 ./mpi-ping

Просмотреть файл

@ -1,118 +0,0 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* All rights reserved.
* Copyright (c) 2004 The Ohio State University.
* All rights reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include <stdio.h>
#include <math.h>
#include <sys/time.h>
#include "mpi.h"
#define MYBUFSIZE (1<<21)
#define CHECK 0
#define PONG 1
char s_buf[MYBUFSIZE];
char r_buf[MYBUFSIZE];
int skip = 40;
int
main (int argc, char *argv[])
{
char hostname[32];
int myid, numprocs, i, j;
double startwtime = 0.0, endwtime;
int namelen;
int size;
int loop;
MPI_Status stat;
int sleep = 1;
struct timeval t_start, t_end;
/*loop = 2;*/
if (argc < 2) {
fprintf (stderr, "Usage: %s msg_size\n", argv[0]);
return 0;
} else {
size = atoi (argv[1]);
if (argc > 2)
loop = atoi (argv[2]);
}
setenv("OMPI_MCA_ptl_base_exclude", "tcp", 1);
MPI_Init (&argc, &argv);
MPI_Comm_size (MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank (MPI_COMM_WORLD, &myid);
printf("the size is %d\n",numprocs);
/* touch the data */
for (i = 0; i < size; i++) {
s_buf[i] = 'A' + i%26;
}
gethostname(hostname, 32);
fprintf(stdout, "[%s:%s:%d] done with init and barrier\n",
hostname, __FUNCTION__, __LINE__);
fflush(stdout);
for (i = 0; i < loop + skip; i++) {
if (i == skip)
gettimeofday (&t_start, 0);
if (myid == 0) {
MPI_Send (s_buf, size, MPI_CHAR, 1, i, MPI_COMM_WORLD);
/*if (PONG)*/
MPI_Recv (r_buf, size, MPI_CHAR, 1, i, MPI_COMM_WORLD, &stat);
} else {
MPI_Recv (r_buf, size, MPI_CHAR, 0, i, MPI_COMM_WORLD, &stat);
/*if (PONG)*/
MPI_Send (s_buf, size, MPI_CHAR, 0, i, MPI_COMM_WORLD);
}
if (CHECK && myid != 0) {
for (j=0; j < size; j ++) {
if (r_buf[j] != 'A' + j%26) {
fprintf(stderr, "[%s:%s] error from byte %d \n",
hostname, __FUNCTION__, j);
break;
} else {
r_buf[j] = '0';
}
}
}
}
gettimeofday (&t_end, 0);
fprintf(stdout, "[%s:%s:%d] done with pingpong\n",
hostname, __FUNCTION__, __LINE__);
fflush(stdout);
if (myid == 0) {
double latency;
latency = ((1.0e6 * t_end.tv_sec + t_end.tv_usec)
- (1.0e6 * t_start.tv_sec + t_start.tv_usec)) / (2.0 * loop);
fprintf(stdout, "length %d latency %8f\n",
size, latency);
fflush(stdout);
}
MPI_Finalize ();
return 0;
}

Просмотреть файл

@ -1,22 +0,0 @@
length 0 latency 20.963000
length 1 latency 27.082500
length 2 latency 27.089000
length 4 latency 27.046000
length 8 latency 27.111500
length 16 latency 27.161500
length 32 latency 27.232500
length 64 latency 27.889500
length 128 latency 29.147000
length 256 latency 31.662000
length 512 latency 34.797000
length 1024 latency 42.762000
length 2048 latency 57.954500
length 4096 latency 77.715000
length 8192 latency 128.157500
length 16384 latency 306.884000
length 32768 latency 429.529000
length 65536 latency 666.954000
length 131072 latency 1126.890500
length 262144 latency 2084.019500
length 524288 latency 4060.802500
length 1048576 latency 8011.251500

Просмотреть файл

@ -1,22 +0,0 @@
length 0 latency 6.293000
length 1 latency 6.914000
length 2 latency 6.961000
length 4 latency 6.967000
length 8 latency 6.921000
length 16 latency 7.002000
length 32 latency 7.144000
length 64 latency 7.231000
length 128 latency 7.750000
length 256 latency 9.867000
length 512 latency 11.760000
length 1024 latency 14.796000
length 2048 latency 21.720000
length 4096 latency 31.352000
length 8192 latency 52.200000
length 16384 latency 213.106000
length 32768 latency 310.099000
length 65536 latency 480.808000
length 131072 latency 816.464000
length 262144 latency 1508.072000
length 524288 latency 2887.136000
length 1048576 latency 5680.983000

Просмотреть файл

@ -1,48 +0,0 @@
--------------------------------------------------
length 0 latency 6.276000
length 1 latency 6.863000
length 2 latency 6.876000
length 4 latency 6.870000
length 8 latency 6.880000
length 16 latency 6.994000
length 32 latency 7.096000
length 64 latency 7.202000
length 128 latency 7.731000
length 256 latency 9.877000
length 512 latency 11.703000
length 1024 latency 14.837000
length 2048 latency 21.597000
length 4096 latency 31.614000
length 8192 latency 52.728000
length 16384 latency 91.849000
length 32768 latency 169.010000
length 65536 latency 425.583000
length 131072 latency 778.310000
length 262144 latency 1466.517000
length 524288 latency 2840.390000
length 1048576 latency 5657.727000
---------------------------------------------------
length 0 latency 6.249000
length 1 latency 6.865000
length 2 latency 6.876000
length 4 latency 6.909000
length 8 latency 6.903000
length 16 latency 6.937000
length 32 latency 7.084000
length 64 latency 7.205000
length 128 latency 7.700000
length 256 latency 9.832000
length 512 latency 11.689000
length 1024 latency 14.779000
length 2048 latency 21.528000
length 4096 latency 31.625000
length 8192 latency 52.796000
length 16384 latency 91.786000
length 32768 latency 168.839000
length 65536 latency 428.174000
length 131072 latency 783.687000
length 262144 latency 1462.125000
length 524288 latency 2851.882000
length 1048576 latency 5655.458000

Просмотреть файл

@ -1,149 +0,0 @@
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 0 latency 6.276500
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 1 latency 6.908500
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 2 latency 7.014000
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 4 latency 6.948500
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 8 latency 6.935500
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 16 latency 7.053500
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 32 latency 7.104000
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 64 latency 7.323000
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 128 latency 7.733500
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 256 latency 9.846000
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 512 latency 11.741500
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 1024 latency 14.823500
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 2048 latency 21.604000
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 4096 latency 31.398000
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 8192 latency 52.105500
WARNING: session directory not removed - function not implemented
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
[d0-mellanox:main:86] done with pingpong
length 16384 latency 212.413000
[d1-mellanox:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
WARNING: session directory not removed - function not implemented
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
[d0-mellanox:main:55] done with init and barrier
[d1-mellanox:main:55] done with init and barrier
Terminated

Просмотреть файл

@ -1,28 +0,0 @@
16k Threshold 64k Threshold
(latency usecs) (latency usecs)
length 0 6.347000 6.27
length 1 6.916000 6.86
length 2 6.937000 6.87
length 4 6.948000 6.87
length 8 6.919000 6.88
length 16 6.971000 6.99
length 32 7.090000 7.09
length 64 7.230000 7.20
length 128 7.723000 7.73
length 256 9.839000 9.87
length 512 11.727000 11.70
length 1024 14.816000 14.83
length 2048 21.509000 21.59
length 4096 31.337000 31.61
length 8192 51.663000 52.72
length 16384 213.005000 91.84
length 32768 314.262000 169.01
length 65536 485.868000 425.58
length 131072 787.057000 783.62
length 262144 1464.489000 1462.16
length 524288 2871.909000 2851.17
length 1048576 5643.708000 5655.12

Просмотреть файл

@ -1,198 +0,0 @@
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 0 latency 16.824000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 1 latency 20.012500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 2 latency 20.039000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a1:main:86] done with pingpong
[a0:main:86] done with pingpong
length 4 latency 20.038000
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 8 latency 20.031500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 16 latency 20.068000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 32 latency 19.955500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 64 latency 21.302000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 128 latency 22.708000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 256 latency 24.971000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 512 latency 28.205000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 1024 latency 35.137500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 2048 latency 49.086500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 4096 latency 70.039500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 8192 latency 117.148000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 16384 latency 292.963500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a1:main:86] done with pingpong
[a0:main:86] done with pingpong
length 32768 latency 419.357500
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 65536 latency 654.070000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 131072 latency 1130.282500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 262144 latency 2129.726500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 524288 latency 4156.120000
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault
/home/1/santhana/ompi_gm_install/lib/
/home/1/santhana/ompi_gm_install/lib/
[a0:main:55] done with init and barrier
[a1:main:55] done with init and barrier
[a0:main:86] done with pingpong
length 1048576 latency 8047.606500
[a1:main:86] done with pingpong
WARNING: session directory not removed - function not implemented
Segmentation fault

Просмотреть файл

@ -1,34 +0,0 @@
#!/bin/bash
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# All rights reserved.
# Copyright (c) 2004 The Ohio State University.
# All rights reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
prog=./lat
i=$((0))
while [ $i -le $((1<<20)) ] ;
do
echo $i >&2
#prun -N 2 -B0 $prog 1000 $i
./run.sh $prog $i 500
#Allow the prun to clean up
sleep 4
if [ $i -eq 0 ] ; then
i=$((1))
else
i=$(($i*2))
fi
done

Просмотреть файл

@ -1,2 +0,0 @@
d0
d1

Просмотреть файл

@ -1,30 +0,0 @@
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
FINISHED MPI_Comm_SIZE: size is 2
FINISHED MPI_Comm_SIZE: size is 2
mpi-ping: ping-pong (using blocking send/recv)
nprocs=2, reps=1000, min bytes=0, max bytes=1048576 inc bytes=0
0 pings 1
0 pinged 1: 0 bytes 6.28 uSec 0.00 MB/s
0 pinged 1: 1 bytes 6.93 uSec 0.14 MB/s
0 pinged 1: 2 bytes 6.93 uSec 0.29 MB/s
0 pinged 1: 4 bytes 6.96 uSec 0.57 MB/s
0 pinged 1: 8 bytes 6.94 uSec 1.15 MB/s
0 pinged 1: 16 bytes 7.01 uSec 2.28 MB/s
0 pinged 1: 32 bytes 7.12 uSec 4.49 MB/s
0 pinged 1: 64 bytes 7.26 uSec 8.82 MB/s
0 pinged 1: 128 bytes 7.74 uSec 16.54 MB/s
0 pinged 1: 256 bytes 10.01 uSec 25.57 MB/s
0 pinged 1: 512 bytes 11.82 uSec 43.32 MB/s
0 pinged 1: 1024 bytes 14.98 uSec 68.34 MB/s
0 pinged 1: 2048 bytes 21.79 uSec 93.98 MB/s
0 pinged 1: 4096 bytes 32.14 uSec 127.44 MB/s
0 pinged 1: 8192 bytes 53.68 uSec 152.60 MB/s
0 pinged 1: 16384 bytes 217.31 uSec 75.40 MB/s
0 pinged 1: 32768 bytes 319.34 uSec 102.61 MB/s
0 pinged 1: 65536 bytes 481.60 uSec 136.08 MB/s
0 pinged 1: 131072 bytes 824.24 uSec 159.02 MB/s
0 pinged 1: 262144 bytes 1506.19 uSec 174.04 MB/s
0 pinged 1: 524288 bytes 2870.90 uSec 182.62 MB/s
0 pinged 1: 1048576 bytes 5659.85 uSec 185.27 MB/s
WARNING: session directory not removed - function not implemented

Просмотреть файл

@ -1,29 +0,0 @@
/home/1/santhana/openmpi_gm_install_d/lib/
/home/1/santhana/openmpi_gm_install_d/lib/
FINISHED MPI_Comm_SIZE: size is 2
mpi-ping: ping-pong (using blocking send/recv)
nprocs=2, reps=1000, min bytes=0, max bytes=1048576 inc bytes=0
0 pings 1
FINISHED MPI_Comm_SIZE: size is 2
0 pinged 1: 0 bytes 6.27 uSec 0.00 MB/s
0 pinged 1: 1 bytes 6.93 uSec 0.14 MB/s
0 pinged 1: 2 bytes 6.95 uSec 0.29 MB/s
0 pinged 1: 4 bytes 6.95 uSec 0.58 MB/s
0 pinged 1: 8 bytes 6.93 uSec 1.15 MB/s
0 pinged 1: 16 bytes 7.04 uSec 2.27 MB/s
0 pinged 1: 32 bytes 7.12 uSec 4.49 MB/s
0 pinged 1: 64 bytes 7.27 uSec 8.80 MB/s
0 pinged 1: 128 bytes 7.74 uSec 16.53 MB/s
0 pinged 1: 256 bytes 10.01 uSec 25.56 MB/s
0 pinged 1: 512 bytes 11.84 uSec 43.25 MB/s
0 pinged 1: 1024 bytes 15.02 uSec 68.19 MB/s
0 pinged 1: 2048 bytes 21.78 uSec 94.01 MB/s
0 pinged 1: 4096 bytes 32.18 uSec 127.30 MB/s
0 pinged 1: 8192 bytes 53.69 uSec 152.58 MB/s
0 pinged 1: 16384 bytes 219.26 uSec 74.72 MB/s
0 pinged 1: 32768 bytes 318.48 uSec 102.89 MB/s
0 pinged 1: 65536 bytes 481.79 uSec 136.02 MB/s
0 pinged 1: 131072 bytes 814.28 uSec 160.97 MB/s
0 pinged 1: 262144 bytes 1506.43 uSec 174.02 MB/s
0 pinged 1: 524288 bytes 2873.05 uSec 182.48 MB/s
0 pinged 1: 1048576 bytes 5651.81 uSec 185.53 MB/s

Просмотреть файл

@ -1,421 +0,0 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* All rights reserved.
* Copyright (c) 2004 The Ohio State University.
* All rights reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
* MPI ping program
*
* Patterned after the example in the Quadrics documentation
*/
#include "ompi_config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/select.h>
#include <getopt.h>
#include "mpi.h"
static int str2size(char *str)
{
int size;
char mod[32];
switch (sscanf(str, "%d%1[mMkK]", &size, mod)) {
case 1:
return (size);
case 2:
switch (*mod) {
case 'm':
case 'M':
return (size << 20);
case 'k':
case 'K':
return (size << 10);
default:
return (size);
}
default:
return (-1);
}
}
static void usage(void)
{
fprintf(stderr,
"Usage: mpi-ping [flags] <min bytes> [<max bytes>] [<inc bytes>]\n"
" mpi-ping -h\n");
exit(EXIT_FAILURE);
}
static void help(void)
{
printf
("Usage: mpi-ping [flags] <min bytes> [<max bytes>] [<inc bytes>]\n"
"\n" " Flags may be any of\n"
" -B use blocking send/recv\n"
" -C check data\n"
" -O overlapping pings\n"
" -W perform warm-up phase\n"
" -r number repetitions to time\n"
" -h print this info\n" "\n"
" Numbers may be postfixed with 'k' or 'm'\n\n");
exit(EXIT_SUCCESS);
}
int main(int argc, char *argv[])
{
MPI_Status status;
MPI_Request recv_request;
MPI_Request send_request;
char *rbuf;
char *tbuf;
int c;
int i;
int bytes;
int nproc;
int peer;
int proc;
int r;
int tag = 0x666;
/*
* default options / arguments
*/
int reps = 10000;
int blocking = 0;
int check = 0;
int overlap = 0;
int warmup = 0;
int inc_bytes = 0;
int max_bytes = 0;
int min_bytes = 0;
setenv("OMPI_MCA_ptl_base_exclude", "tcp", 1);
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &proc);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
printf("FINISHED MPI_Comm_SIZE: size is %d\n",nproc);
fflush(stdout);
while ((c = getopt(argc, argv, "BCOWr:h")) != -1) {
switch (c) {
case 'B':
blocking = 1;
break;
case 'C':
check = 1;
break;
case 'O':
overlap = 1;
break;
case 'W':
warmup = 1;
break;
case 'r':
if ((reps = str2size(optarg)) <= 0) {
usage();
}
break;
case 'h':
help();
default:
usage();
}
}
if (optind == argc) {
min_bytes = 0;
} else if ((min_bytes = str2size(argv[optind++])) < 0) {
usage();
}
if (optind == argc) {
max_bytes = min_bytes;
} else if ((max_bytes = str2size(argv[optind++])) < min_bytes) {
usage();
}
if (optind == argc) {
inc_bytes = 0;
} else if ((inc_bytes = str2size(argv[optind++])) < 0) {
usage();
}
if (nproc == 1) {
exit(EXIT_SUCCESS);
}
if ((rbuf = (char *) malloc(max_bytes ? max_bytes : 8)) == NULL) {
perror("malloc");
exit(EXIT_FAILURE);
}
if ((tbuf = (char *) malloc(max_bytes ? max_bytes : 8)) == NULL) {
perror("malloc");
exit(EXIT_FAILURE);
}
if (check) {
for (i = 0; i < max_bytes; i++) {
tbuf[i] = i & 255;
rbuf[i] = 0;
}
}
if (proc == 0) {
if (overlap) {
printf("mpi-ping: overlapping ping-pong\n");
} else if (blocking) {
printf("mpi-ping: ping-pong (using blocking send/recv)\n");
} else {
printf("mpi-ping: ping-pong\n");
}
if (check) {
printf("data checking enabled\n");
}
printf("nprocs=%d, reps=%d, min bytes=%d, max bytes=%d inc bytes=%d\n",
nproc, reps, min_bytes, max_bytes, inc_bytes);
fflush(stdout);
}
MPI_Barrier(MPI_COMM_WORLD);
peer = proc ^ 1;
if ((peer < nproc) && (peer & 1)) {
printf("%d pings %d\n", proc, peer);
fflush(stdout);
}
MPI_Barrier(MPI_COMM_WORLD);
if (warmup) {
if (proc == 0) {
puts("warm-up phase");
fflush(stdout);
}
for (r = 0; r < reps; r++) {
if (peer >= nproc) {
break;
}
MPI_Irecv(rbuf, max_bytes, MPI_BYTE, peer, tag, MPI_COMM_WORLD,
&recv_request);
MPI_Isend(tbuf, max_bytes, MPI_BYTE, peer, tag, MPI_COMM_WORLD,
&send_request);
MPI_Wait(&send_request, &status);
MPI_Wait(&recv_request, &status);
}
if (proc == 0) {
puts("warm-up phase done");
fflush(stdout);
}
}
MPI_Barrier(MPI_COMM_WORLD);
/*
* Main loop
*/
for (bytes = min_bytes; bytes <= max_bytes;
bytes = inc_bytes ? bytes + inc_bytes : bytes ? 2 * bytes : 1) {
double t = 0.0;
double tv[2];
r = reps;
MPI_Barrier(MPI_COMM_WORLD);
if (peer < nproc) {
if (overlap) {
/*
* MPI_Isend / MPI_Irecv overlapping ping-pong
*/
tv[0] = MPI_Wtime();
for (r = 0; r < reps; r++) {
MPI_Irecv(rbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &recv_request);
MPI_Isend(tbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &send_request);
MPI_Wait(&send_request, &status);
MPI_Wait(&recv_request, &status);
if (check) {
for (i = 0; i < bytes; i++) {
if (rbuf[i] != (i & 255)) {
puts("mpi-ping: Error: Invalid data received");
}
rbuf[i] = 0;
}
}
}
tv[1] = MPI_Wtime();
} else if (blocking) {
/*
* MPI_Send / MPI_Recv ping-pong
*/
tv[0] = MPI_Wtime();
if (peer < nproc) {
if (proc & 1) {
r--;
MPI_Recv(rbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &status);
if (check) {
for (i = 0; i < bytes; i++) {
if (rbuf[i] != (i & 255)) {
puts("mpi-ping: Error: Invalid data received");
}
rbuf[i] = 0;
}
}
}
while (r-- > 0) {
MPI_Send(tbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD);
MPI_Recv(rbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &status);
if (check) {
for (i = 0; i < bytes; i++) {
if (rbuf[i] != (i & 255)) {
puts("mpi-ping: Error: Invalid data received");
}
rbuf[i] = 0;
}
}
}
if (proc & 1) {
MPI_Send(tbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD);
}
}
tv[1] = MPI_Wtime();
} else {
/*
* MPI_Isend / MPI_Irecv ping-pong
*/
tv[0] = MPI_Wtime();
if (peer < nproc) {
if (proc & 1) {
r--;
MPI_Irecv(rbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &recv_request);
MPI_Wait(&recv_request, &status);
if (check) {
for (i = 0; i < bytes; i++) {
if (rbuf[i] != (i & 255)) {
puts("mpi-ping: Error: Invalid data received");
}
rbuf[i] = 0;
}
}
}
while (r-- > 0) {
MPI_Isend(tbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &send_request);
MPI_Wait(&send_request, &status);
MPI_Irecv(rbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &recv_request);
MPI_Wait(&recv_request, &status);
if (check) {
for (i = 0; i < bytes; i++) {
if (rbuf[i] != (i & 255)) {
puts("mpi-ping: Error: Invalid data received");
}
rbuf[i] = 0;
}
}
}
if (proc & 1) {
MPI_Isend(tbuf, bytes, MPI_BYTE, peer, tag,
MPI_COMM_WORLD, &send_request);
MPI_Wait(&send_request, &status);
}
}
tv[1] = MPI_Wtime();
}
/*
* Calculate time interval in useconds (half round trip)
*/
t = (tv[1] - tv[0]) * 1000000.0 / (2 * reps);
}
MPI_Barrier(MPI_COMM_WORLD);
if ((peer < nproc) && (peer & 1)) {
printf("%3d pinged %3d: %8d bytes %9.2f uSec %8.2f MB/s\n",
proc, peer, bytes, t, bytes / (t));
fflush(stdout);
}
}
MPI_Barrier(MPI_COMM_WORLD);
MPI_Finalize();
return EXIT_SUCCESS;
}

Просмотреть файл

@ -1 +0,0 @@
mpirun -np 2 -hostfile mac -- ${PWD}/$1 $2 $3