[mpich2-commits] r6695 - in mpich2/trunk: maint src/include src/mpi/init src/util/param
goodell at mcs.anl.gov
goodell at mcs.anl.gov
Thu May 20 22:34:34 CDT 2010
Author: goodell
Date: 2010-05-20 22:34:34 -0500 (Thu, 20 May 2010)
New Revision: 6695
Removed:
mpich2/trunk/maint/extractparms
mpich2/trunk/src/include/mpiparam.h
mpich2/trunk/src/util/param/param.c
mpich2/trunk/src/util/param/param.h
mpich2/trunk/src/util/param/testparam.c
Modified:
mpich2/trunk/maint/updatefiles
mpich2/trunk/src/include/mpiimpl.h
mpich2/trunk/src/mpi/init/finalize.c
mpich2/trunk/src/util/param/Makefile.sm
mpich2/trunk/src/util/param/params.yml
Log:
remove old (partially implemented) parameter functionality
Deleted: mpich2/trunk/maint/extractparms
===================================================================
--- mpich2/trunk/maint/extractparms 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/maint/extractparms 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,217 +0,0 @@
-#! /usr/bin/env perl
-# (Tested with -w; 2/23/07)
-#
-# Find the parse.sub routine.
-
-use warnings;
-
-my $maintdir = "maint";
-my $rootdir = ".";
-if ( ! -s "maint/parse.sub" ) {
- my $program = $0;
- $program =~ s/extractparms//;
- if (-s "$program/parse.sub") {
- $maintdir = $program;
- $rootdir = $program;
- $rootdir =~ s/\/maint//g;
- print "Rootdir = $rootdir\n" if $debug;
- }
-}
-require "$maintdir/parse.sub";
-
-$debug = 0;
-$showfiles = 0;
-$quiet = 0;
-$wwwFormat = 1;
-$wwwFullpage = 1;
-# params has key "name" and value envname:filename:description
-%params = ();
-
-# Strict is used to control checking of error message strings.
-$gStrict = 0;
-if (defined($ENV{"DEBUG_STRICT"})) { $gStrict = 1; }
-
-# Check for special args
- at files = ();
-%skipFiles = ();
-$outfile = "";
-foreach $arg (@ARGV) {
- if ($arg =~ /^-showfiles/) { $showfiles = 1; }
- elsif( $arg =~ /-debug/) { $debug = 1; }
- elsif( $arg =~ /-quiet/) { $quiet = 1; }
- elsif( $arg =~ /-outfile=(.*)/) { $outfile = $1; }
- elsif( $arg =~ /-strict/) { $gStrict = 1; }
- elsif( $arg =~ /-skip=(.*)/) { $skipFiles{$1} = 1; }
- else {
- print "Adding $arg to files\n" if $debug;
- if (-d $arg) {
- # Add all .c files from directory $arg to the list of files
- # to process (this lets us shorten the arg list)
- @files = (@files, &ExpandDir( $arg ));
- }
- else {
- $files[$#files+1] = $arg;
- }
- }
-}
-# End of argument processing
-
-# Setup the basic file for errnames - Now determined in ExpandDirs
-#@errnameFiles = ( "$rootdir/src/mpi/errhan/errnames.txt" );
-
-if ($outfile ne "") {
- $OUTFD = "MyOutFile";
- open( $OUTFD, ">$outfile" ) or die "Could not open $outfile\n";
-}
-else {
- $OUTFD = STDOUT;
-}
-# Setup before processing the files
-
-# Process the definitions
-foreach $file (@files) {
- print "$file\n" if $showfiles;
- &ProcessFile( $file );
-}
-
-# Create the output files from the input that we're read
-if ($wwwFormat) {
- &OutputWebpage;
-}
-
-
-#-----------------------------------------------------------------------------
-# ROUTINES
-# ----------------------------------------------------------------------------
-
-# ==========================================================================
-# Call this for each file
-# This reads a C source or header file and adds does the following:
-#
-$filename = ""; # Make global so that other routines can echo filename
-sub ProcessFile
-{
- # Leave filename global for AddTest
- $filename = $_[0];
- my $linecount = 0;
- open (FD, "<$filename" ) or die "Could not open $filename\n";
-
- while (<FD>) {
- $linecount++;
- # Next, remove any comments
- $_ = StripComments( FD, $_ );
- # Skip the definition of the function
- if (/int\s+MPIU_Param_/) { $remainder = ""; next; }
- # Match the known routines and macros.
- # MPIU_Param_register( const char name[], const char envname[],
- # const char description[] )
- %KnownErrRoutines = ( 'MPIU_Param_register' => '0:1:2',
- );
- while (/(MPIU_Param_[a-z0-9_]+)\s*(\(.*)$/) {
- my $routineName = $1;
- my $arglist = $2;
- if (!defined($KnownErrRoutines{$routineName})) {
- print "Skipping $routineName\n" if $debug;
- last;
- }
- print "Found $routineName\n" if $debug;
- my ($nameArgLoc,$envnameArgLoc,$descripArgLoc) =
- split(/:/,$KnownErrRoutines{$routineName});
-
- ($leader, $remainder, @args ) = &GetSubArgs( FD, $arglist );
- # Discard leader
- if ($debug) {
- print "Line begins with $leader\n"; # Use $leader to keep -w happy
- foreach $arg (@args) {
- print "|$arg|\n";
- }
- }
- # Process the signature
-
- # if signature does not match new function prototype, then skip it
- if ($#args < $descripArgLoc) {
- if (!defined($bad_syntax_in_file{$filename})) {
- $bad_syntax_in_file{$filename} = 1;
- print STDERR "Warning: $routineName call with too few arguments in $filename\n";
- }
- next;
- }
- my $name = $args[$nameArgLoc];
- my $envname = $args[$envnameArgLoc];
- my $descrip = $args[$descripArgLoc];
- $name =~ s/^\"//; $name =~ s/\"$//;
- $envname =~ s/^\"//; $envname =~ s/\"$//;
- $descrip =~ s/^\"//; $descrip =~ s/\"$//;
- $params{$name} = "$envname:$filename:$descrip";
-
- # Temp for debugging
- #print STDOUT "$name\t$envname\t$descrip\n";
- }
- continue
- {
- $_ = $remainder;
- }
- }
- close FD;
-}
-
-# Get all of the .c files from the named directory, including any subdirs
-# Also, add any errnames.txt files to the errnamesFiles arrays
-sub ExpandDir {
- my $dir = $_[0];
- my @otherdirs = ();
- my @files = ();
- opendir DIR, "$dir";
- while ($filename = readdir DIR) {
- if ($filename =~ /^\./ || $filename eq ".svn") {
- next;
- }
- elsif (-d "$dir/$filename") {
- $otherdirs[$#otherdirs+1] = "$dir/$filename";
- }
- elsif ($filename =~ /(.*\.[chi])$/) {
- # Test for both Unix- and Windows-style directory separators
- if (!defined($skipFiles{"$dir/$filename"}) &&
- !defined($skipFiles{"$dir\\$filename"})) {
- $files[$#files + 1] = "$dir/$filename";
- }
- }
- elsif ($filename eq "errnames.txt") {
- $errnameFiles[$#errnameFiles+1] = "$dir/$filename";
- }
- }
- closedir DIR;
- # (almost) tail recurse on otherdirs (we've closed the directory handle,
- # so we don't need to worry about it anymore)
- foreach $dir (@otherdirs) {
- @files = (@files, &ExpandDir( $dir ) );
- }
- return @files;
-}
-
-
-sub OutputWebpage {
- if ($wwwFullpage) {
- print $OUTFD "<html>\n<head>\n<title>Parameters for MPICH2</title></head>\n";
- print $OUTFD "<body>\n<h2>Parameters for MPICH2</h2>\r\n";
- }
- &OutputWebbody;
- if ($wwwFullpage) {
- print $OUTFD "</body>\n</html>\r\n";
- }
-}
-
-sub OutputWebbody {
- print $OUTFD "<dl>\n";
- foreach my $key (sort(keys(%params))) {
- my ($envname, $filename, $descript);
- if ($params{$key} =~ /^([^:]*):([^:]*):(.*)/) {
- $envname = $1;
- $filename = $2;
- $descript = $3;
-
- print STDOUT "<dt>$key ($envname)\n<dd>$descript\n";
- }
- }
- print $OUTFD "</dl>\n";
-}
Modified: mpich2/trunk/maint/updatefiles
===================================================================
--- mpich2/trunk/maint/updatefiles 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/maint/updatefiles 2010-05-21 03:34:34 UTC (rev 6695)
@@ -604,9 +604,6 @@
echo "Creating the enumeration of logging states into src/include/mpiallstates.h"
maint/extractstates
fi
-#if [ -x maint/extractparms -a $do_getparms = "yes" ] ; then
-# maint/extractparms -outfile=parms.htm
-#fi
# new parameter code
if test -x maint/genparams -a "$do_getparms" = "yes" ; then
echo "generating parameter handling code"
Modified: mpich2/trunk/src/include/mpiimpl.h
===================================================================
--- mpich2/trunk/src/include/mpiimpl.h 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/include/mpiimpl.h 2010-05-21 03:34:34 UTC (rev 6695)
@@ -503,8 +503,6 @@
/* end of code that should the following be moved into mpihandlemem.h ?*/
/* ------------------------------------------------------------------------- */
-#include "mpiparam.h"
-
/* ------------------------------------------------------------------------- */
/* Info */
/*TInfoOverview.tex
Deleted: mpich2/trunk/src/include/mpiparam.h
===================================================================
--- mpich2/trunk/src/include/mpiparam.h 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/include/mpiparam.h 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,32 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2001 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-#ifndef MPIPARAM_H_INCLUDED
-#define MPIPARAM_H_INCLUDED
-/* ------------------------------------------------------------------------- */
-/* mpiparam.h*/
-/* ------------------------------------------------------------------------- */
-
-/* Parameter handling. These functions have not been implemented yet.
- See src/util/param.[ch] */
-typedef enum MPIU_Param_result_t {
- MPIU_PARAM_FOUND = 0,
- MPIU_PARAM_OK = 1,
- MPIU_PARAM_ERROR = 2
-} MPIU_Param_result_t;
-int MPIU_Param_init( int *, char *[], const char [] );
-int MPIU_Param_bcast( void );
-int MPIU_Param_register( const char [], const char [], const char [] );
-int MPIU_Param_get_int( const char [], int, int * );
-int MPIU_Param_get_string( const char [], const char *, char ** );
-int MPIU_Param_get_range( const char name[], int *lowPtr, int *highPtr );
-void MPIU_Param_finalize( void );
-
-/* See mpishared.h as well */
-/* ------------------------------------------------------------------------- */
-/* end of mpiparam.h*/
-/* ------------------------------------------------------------------------- */
-
-#endif /* MPIPARAM_H_INCLUDED */
Modified: mpich2/trunk/src/mpi/init/finalize.c
===================================================================
--- mpich2/trunk/src/mpi/init/finalize.c 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/mpi/init/finalize.c 2010-05-21 03:34:34 UTC (rev 6695)
@@ -224,13 +224,7 @@
finalize callbacks */
#ifdef MPICH_DEBUG_NESTING
{
- int parmFound, parmValue;
-
- MPIU_Param_register( "nestcheck", "NESTCHECK",
- "List any memory that was allocated by MPICH2 and that remains allocated when MPI_Finalize completes" );
- parmFound = MPL_env2bool( "MPICH_NESTCHECK", &parmValue );
- if (!parmFound) parmValue = 1;
- if (parmValue) {
+ if (MPIR_PARAM_NESTCHECK) {
MPIU_THREADPRIV_GET;
/* Check for an error in the nesting level */
if (MPIR_Nest_value()) {
@@ -261,16 +255,7 @@
go to separate files or to be sorted by rank (note that
the rank is at the head of the line) */
{
- int parmFound, parmValue;
- /* The Param_register is used to document the parameters. A
- script will extract the information about these parameters,
- allowing the documentation to stay up-to-date with the use of the
- parameters (this script is still to be written) */
- MPIU_Param_register( "memdump", "MEMDUMP",
- "List any memory that was allocated by MPICH2 and that remains allocated when MPI_Finalize completes" );
- parmFound = MPL_env2bool( "MPICH_MEMDUMP", &parmValue );
- if (!parmFound) parmValue = 1;
- if (parmValue) {
+ if (MPIR_PARAM_MEMDUMP) {
/* The second argument is the min id to print; memory allocated
after MPI_Init is given an id of one. This allows us to
ignore, if desired, memory leaks in the MPID_Init call */
Modified: mpich2/trunk/src/util/param/Makefile.sm
===================================================================
--- mpich2/trunk/src/util/param/Makefile.sm 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/util/param/Makefile.sm 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,8 +1,3 @@
-lib${MPILIBNAME}_a_SOURCES = param.c param_vals.c
-HEADERS = param.h
+lib${MPILIBNAME}_a_SOURCES = param_vals.c
INCLUDES = -I../../include -I${top_srcdir}/src/include
-EXTRA_PROGRAMS = testparam
-
-testparam_SOURCES = testparam.c param.c
-testparam_LDADD = ../../../lib/lib${MPILIBNAME}.a
Deleted: mpich2/trunk/src/util/param/param.c
===================================================================
--- mpich2/trunk/src/util/param/param.c 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/util/param/param.c 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,310 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2001 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-#include "mpichconf.h"
-#include "mpimem.h"
-#include "mpibase.h"
-#include "mpiparam.h"
-#include "param.h"
-#ifdef HAVE_REGISTERED_PARAMS
-#include "defparams.h"
-#endif
-
-#include <string.h>
-#include <stdio.h>
-#include <ctype.h>
-
-
-#if defined( HAVE_PUTENV ) && defined( NEEDS_PUTENV_DECL )
-extern int putenv(char *string);
-#endif
-
-#ifndef isascii
-#define isascii(c) (((c)&~0x7f)==0)
-#endif
-
-/*
- This file implements the parameter routines. These routines provide a
- uniform mechanism to access parameters that are used within the mpich2 code.
-
- This implements a relatively simple system that stores key/value pairs.
- Values are normally set at initialization and then not changed, so
- a simple sorted array of entries can be used.
-*/
-
-typedef struct {
- char *name;
- enum { MPIU_STRING, MPIU_INT, MPIU_INT_RANGE } kind;
- union {
- char *string_value;
- int int_value;
- int intrange_value[2];
- } val;
-} Param_entry;
-
-#define MAX_PARAM_TABLE 128
-static int nentries = 0;
-static Param_entry *param_table = 0;
-
-#define MAX_LINE_SIZE 1024
-
-/*@
- MPIU_Param_init - Initialize the parameter code
-
- Input/Output Parameters:
-+ argc_p - Pointer to argument count
-- argv - Argument vector
-
- Comments:
- This routine extracts parameter values from the command line, as
- well as initializing any values from the environment and from
- a defaults file. The default file is read by only one process; the
- routine 'MPIU_Param_bcast' propagates the values to other processes.
-
- See Also:
- MPIU_Param_bcast, MPIU_Param_get_int, MPIU_Param_get_string,
- MPIU_Param_finalize
- @*/
-int MPIU_Param_init( int *argc_p, char *argv_p[], const char def_file[] )
-{
- /* Allocate a parameter table */
- param_table = (Param_entry *)MPIU_Malloc(
- MAX_PARAM_TABLE * sizeof(Param_entry) );
- if (!param_table) {
- /* Error - cannot allocate table */
- return 0;
- }
-
- if (def_file && def_file[0]) {
- /* Read the file */
- FILE *fp;
- char buf[MAX_LINE_SIZE];
-
- fp = fopen( def_file, "r" );
- if (fp) {
- while (fgets( buf, MAX_LINE_SIZE, fp )) {
- char *p;
- char *key, *keyend, *value, *nextval;
- long val;
-
- /* Make sure that there is a null at the end */
- buf[MAX_LINE_SIZE-1] = 0;
- p = buf;
- /* Find the first non-blank */
- while (*p && isascii(*p) && isspace(*p)) p++;
- /* Check for comments */
- if (*p == '#') {
- continue;
- }
-
- /* Check for key = value */
- key = p;
- while (*p && *p != '=') p++;
-
- if (*p != '=') {
- /* Error - key without = value */
-
- continue;
- }
- /* Null terminate the key */
- keyend = p - 1;
- while (*keyend && isascii(*keyend) && isspace(*keyend))
- keyend--;
- *++keyend = 0;
-
- /* skip over the = */
- p++;
- /* Find the value */
- while (*p && isascii(*p) && isspace(*p)) p++;
-
- value = p;
-
- if (!*value) {
- /* Error - key without value */
- continue;
- }
-
- if (nentries == MAX_PARAM_TABLE) {
- /* Error - out of room in the table */
- break;
- }
-
- /* At this point we can save a value */
- val = strtol( value, &nextval, 0 );
- param_table[nentries].name = MPIU_Strdup( key );
- if (nextval != value) {
- param_table[nentries].kind = MPIU_INT;
- param_table[nentries].val.int_value = (int)val;
- }
- else {
- param_table[nentries].kind = MPIU_STRING;
- param_table[nentries].val.string_value = MPIU_Strdup( value );
- }
- nentries++;
- }
- fclose( fp );
- }
- }
-
-#ifdef HAVE_REGISTERED_PARAMS
- /* Now, process any command line choices. This must look for registered
- names. */
- if (argc_p) {
- int argc;
- for (argc=0; argc<*argc_p; argc++) {
- ;
- }
- }
-
- /* Acquire any environment variables that have been registered. (
- registration is done by a separate source tool) */
-#endif
-
- return 0;
-}
-
-int MPIU_Param_bcast( void )
-{
- return 0;
-}
-
-/* The purpose of this routine is really to mark, at the point of
- use, the parmaeters that are used by the program. We may want to
- use a different interface that passes these values directly to
- to code that uses them, or we may want to use an interface that
- allows the efficient setting of these values at the point of use. Thus,
- this routine is really a place-holder for future development.
-
- Input Parameters:
-+ name - Name of the parameter, without any prefix (e.g., memdump), as
- it might be used in an argument list (e.c., as -mpich-memdump=yes)
-. envname - Name of the parameter, without any prefix, as it might
- be used as an environment variable name
-- description - Description of the use of the parameter, in English.
-*/
-int MPIU_Param_register( const char name[], const char envname[],
- const char description[] )
-{
- return 0;
-}
-
-/* Search through the ordered table that is param_table.
- Linear search for now; binary tree search is almost as easy */
-static Param_entry *find_entry( const char name[] )
-{
- int i, cmp;
-
- for (i=0; i<nentries; i++) {
- cmp = strcmp( param_table[i].name, name );
- if (cmp == 0) {
- return ¶m_table[i];
- }
- else if (cmp < 0) {
- return 0;
- }
- }
- return 0;
-}
-
-int MPIU_Param_get_int( const char name[], int default_val, int *value )
-{
- Param_entry *entry;
- int rc = 0;
-
- entry = find_entry( name );
- if (entry) {
- if (entry->kind == MPIU_INT) {
- *value = entry->val.int_value;
- rc = 0;
- }
- else {
- rc = 2;
- }
- }
- else {
- *value = default_val;
- rc = 1;
- }
- return rc;
-}
-
-int MPIU_Param_get_string( const char name[], const char *default_val,
- char **value )
-{
- Param_entry *entry;
-
- entry = find_entry( name );
- if (entry) {
- if (entry->kind == MPIU_STRING) {
- *value = entry->val.string_value;
- return 0;
- }
- else {
- return 2;
- }
- }
- else {
- *value = (char *)default_val;
- return 1;
- }
-}
-
-int MPIU_Param_get_range( const char name[], int *lowPtr, int *highPtr )
-{
- Param_entry *entry;
- int rc = 0;
-
- entry = find_entry( name );
- if (entry) {
- if (entry->kind == MPIU_STRING) {
- /* Can we convert this to an integer range? */
- /* FIXME: This is the code from EnvGetRange */
-
- const char *p;
- int high = 0, low = 0;
- /* Look for n:m format */
- p = entry->val.string_value;
- while (*p && isspace(*p)) p++;
- while (*p && isdigit(*p)) low = 10 * low + (*p++ - '0');
- if (*p == ':') {
- p++;
- while (*p && isdigit(*p)) high = 10 * high + (*p++ - '0');
- }
- if (*p) {
- MPIU_Error_printf( "Invalid character %c in %s\n",
- *p, entry->val.string_value );
- return -1;
- }
- entry->val.intrange_value[0] = low;
- entry->val.intrange_value[1] = high;
- entry->kind = MPIU_INT_RANGE;
- }
- if (entry->kind == MPIU_INT_RANGE) {
- *lowPtr = entry->val.intrange_value[0];
- *highPtr = entry->val.intrange_value[1];
- rc = 0;
- }
- else {
- rc = 2;
- }
- }
- else {
- /* Leave values unchanged */
- rc = 1;
- }
- return rc;
-}
-
-void MPIU_Param_finalize( void )
-{
- return;
-}
-
-/*
- * FIXME:
- * These are simple standins for the scalable parameter functions that we
- * need.
- */
Deleted: mpich2/trunk/src/util/param/param.h
===================================================================
--- mpich2/trunk/src/util/param/param.h 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/util/param/param.h 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,12 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2001 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-#ifndef PARAM_H_INCLUDED
-#define PARAM_H_INCLUDED
-
-/* This is a header file for definitions that are internal to the parameter
- routines */
-
-#endif
Modified: mpich2/trunk/src/util/param/params.yml
===================================================================
--- mpich2/trunk/src/util/param/params.yml 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/util/param/params.yml 2010-05-21 03:34:34 UTC (rev 6695)
@@ -61,4 +61,24 @@
If true, force all processes to operate as though all processes
are located on another node. For example, this disables shared
memory communication hierarchical collectives.
+
+ - category : developer
+ name : NESTCHECK
+ alt-env :
+ - NEST_CHECK
+ abs-alt-env :
+ - MPICH_NESTCHECK
+ type : boolean
+ default : true
+ description : >-
+ If true, sanity check nesting levels at MPI_Finalize.
+ - category : developer
+ name : MEMDUMP
+ abs-alt-env :
+ - MPICH_MEMDUMP
+ type : boolean
+ default : true
+ description : >-
+ If true, list any memory that was allocated by MPICH2 and that
+ remains allocated when MPI_Finalize completes.
...
Deleted: mpich2/trunk/src/util/param/testparam.c
===================================================================
--- mpich2/trunk/src/util/param/testparam.c 2010-05-21 03:34:31 UTC (rev 6694)
+++ mpich2/trunk/src/util/param/testparam.c 2010-05-21 03:34:34 UTC (rev 6695)
@@ -1,26 +0,0 @@
-/* -*- Mode: C; c-basic-offset:4 ; -*- */
-/*
- * (C) 2001 by Argonne National Laboratory.
- * See COPYRIGHT in top-level directory.
- */
-
-/* For testing only */
-/* style: allow:printf:1 sig:0 */
-
-#include "param.h"
-#include <stdio.h>
-
-int main( int argc, char *argv[] )
-{
- int val;
-
- MPIU_Param_init( 0, 0, "sample.prm" );
-
- MPIU_Param_bcast( );
-
- MPIU_Param_get_int( "SOCKBUFSIZE", 65536, &val );
-
- printf( "Socket size is %d\n", val );
-
- MPIU_Param_finalize( );
-}
More information about the mpich2-commits
mailing list