ВУЗ:
Составители:
Рубрика:
- 41 -
щей процедуры тестирования (более полный набор тестов можно получить с
http://parallel.ru/testmpi
).
Для виртуального кластера максимально достижимая реальная произво-
дительности коммуникационной сети достигается при размере сообщений
более 128
÷
256 kбайт, при этом величина латентности может достигать
300
÷
400 мксек (что является платой за виртуальное совмещение сетей
управления и коммуникаций единой физической Fast Ethernet-сетью).
Необходимое оборудование – вычислительный кластер под управлением
UNIX-совместимой ОС, предустановленная поддержка MPI, рабочая консоль
программиста для управления прохождением пользовательских задач.
Порядок проведения работы – студент подготавливает исходные тексты
MPI-программ, компилирует их в исполняемое приложение, запускает на
счет
, анализирует выходные данные программы и представляет их в графи-
ческом виде.
Исходный код простой C-программы
PROG_MPI.C
тестирования произво-
дительности сети приведен ниже
:
// source code of PROG_MPI.C program
#include "mpi.h"
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
static int message[10000000]; // max length of message
int main (int argc, char *argv[])
{
double time_start,time_finish;
int i, n, nprocs, myid, len;
MPI_Request rq;
MPI_Status status;
MPI_Init(&argc,&argv); /* initialization MPI */
MPI_Comm_size(MPI_COMM_WORLD,&nprocs); /* all processes */
MPI_Comm_rank(MPI_COMM_WORLD,&myid); /* current process */
printf("PROGMPI: nprocs=%d myid=%d\n", nprocs, myid);
fflush( stdout );
len = atoi( argv[1] ); // get length message from command line
printf( "length: %d\n", len );
if (myid == 0) /* I a m MASTER-process ! */
{
n = 1000; /* cycles number */
MPI_Send(&n, 4, MPI_CHAR, nprocs-1, 99,MPI_COMM_WORLD);
time_start=MPI_Wtime();
- 41 - щей процедуры тестирования (более полный набор тестов можно получить с http://parallel.ru/testmpi). Для виртуального кластера максимально достижимая реальная произво- дительности коммуникационной сети достигается при размере сообщений более 128 ÷ 256 kбайт, при этом величина латентности может достигать 300 ÷ 400 мксек (что является платой за виртуальное совмещение сетей управления и коммуникаций единой физической Fast Ethernet-сетью). Необходимое оборудование – вычислительный кластер под управлением UNIX-совместимой ОС, предустановленная поддержка MPI, рабочая консоль программиста для управления прохождением пользовательских задач. Порядок проведения работы – студент подготавливает исходные тексты MPI-программ, компилирует их в исполняемое приложение, запускает на счет, анализирует выходные данные программы и представляет их в графи- ческом виде. Исходный код простой C-программы PROG_MPI.C тестирования произво- дительности сети приведен ниже: // source code of PROG_MPI.C program #include "mpi.h" #include#include #include static int message[10000000]; // max length of message int main (int argc, char *argv[]) { double time_start,time_finish; int i, n, nprocs, myid, len; MPI_Request rq; MPI_Status status; MPI_Init(&argc,&argv); /* initialization MPI */ MPI_Comm_size(MPI_COMM_WORLD,&nprocs); /* all processes */ MPI_Comm_rank(MPI_COMM_WORLD,&myid); /* current process */ printf("PROGMPI: nprocs=%d myid=%d\n", nprocs, myid); fflush( stdout ); len = atoi( argv[1] ); // get length message from command line printf( "length: %d\n", len ); if (myid == 0) /* I a m MASTER-process ! */ { n = 1000; /* cycles number */ MPI_Send(&n, 4, MPI_CHAR, nprocs-1, 99,MPI_COMM_WORLD); time_start=MPI_Wtime();
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »