|
Packit |
0848f5 |
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
|
|
Packit |
0848f5 |
/*
|
|
Packit |
0848f5 |
* (C) 2001 by Argonne National Laboratory.
|
|
Packit |
0848f5 |
* See COPYRIGHT in top-level directory.
|
|
Packit |
0848f5 |
*/
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
/* simple test for multiple executables */
|
|
Packit |
0848f5 |
#include "mpi.h"
|
|
Packit |
0848f5 |
#include <stdio.h>
|
|
Packit |
0848f5 |
#ifdef HAVE_WINDOWS_H
|
|
Packit |
0848f5 |
#include <direct.h>
|
|
Packit |
0848f5 |
#else
|
|
Packit |
0848f5 |
#include <unistd.h>
|
|
Packit |
0848f5 |
#endif
|
|
Packit |
0848f5 |
#include <stdlib.h>
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
#define MAX_DIRNAME_SIZE 256
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
int main( int argc, char *argv[], char *envp[] )
|
|
Packit |
0848f5 |
{
|
|
Packit |
0848f5 |
int i, myid, numprocs;
|
|
Packit |
0848f5 |
int namelen;
|
|
Packit |
0848f5 |
char *p;
|
|
Packit |
0848f5 |
char processor_name[MPI_MAX_PROCESSOR_NAME];
|
|
Packit |
0848f5 |
char curr_wd[MAX_DIRNAME_SIZE];
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Init( &argc, &argv );
|
|
Packit |
0848f5 |
MPI_Comm_size( MPI_COMM_WORLD, &numprocs );
|
|
Packit |
0848f5 |
MPI_Comm_rank( MPI_COMM_WORLD, &myid );
|
|
Packit |
0848f5 |
MPI_Get_processor_name( processor_name, &namelen );
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] Process %d of %d (%s) is on %s\n",
|
|
Packit |
0848f5 |
myid, myid, numprocs, argv[0], processor_name );
|
|
Packit |
0848f5 |
fflush( stdout );
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
for ( i = 1; i < argc; i++ ) {
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] argv[%d]=\"%s\"\n", myid, i, argv[i] );
|
|
Packit |
0848f5 |
fflush( stdout );
|
|
Packit |
0848f5 |
}
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
getcwd( curr_wd, MAX_DIRNAME_SIZE );
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] current working directory=%s\n", myid, curr_wd );
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
p = getenv("PATH");
|
|
Packit |
0848f5 |
if ( p )
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] PATH=%s\n", myid, p );
|
|
Packit |
0848f5 |
else
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] PATH not set in environment\n", myid );
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
#ifdef PRINTENV
|
|
Packit |
0848f5 |
/* may produce lots of output, but here if you need it */
|
|
Packit |
0848f5 |
for ( i = 0; envp[i]; i++ )
|
|
Packit |
0848f5 |
fprintf( stdout, "[%d] envp[%d]=%s\n", myid, i, envp[i] );
|
|
Packit |
0848f5 |
#endif
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Finalize( );
|
|
Packit |
0848f5 |
}
|