Project

General

Profile

Bug #1259

Feature #944: AMPI compliance with MPI-2.2 standard

AMPI missing built-in MPI_INFO_ENV

Added by Sam White over 2 years ago. Updated 12 months ago.

Status:
Merged
Priority:
Normal
Category:
AMPI
Target version:
Start date:
10/15/2016
Due date:
% Done:

100%


Description

From the MPI standard:

After MPI is initialized, the application can access information about the execution environment by querying the predefined info object MPI_INFO_ENV. The following keys are predefined for this object, corresponding to the arguments of mpiexec:

command: name of program executed.
argv: space separated arguments to command.
maxprocs: maximum number of MPI processes to start.
soft: allowed values for number of processors.
host: hostname.
arch: architecture name.
wdir: working directory of the MPI process.
file: value is the name of a file in which additional information is specified.
thread_level: requested level of thread support, if requested before the program started execution.

Note that all values are strings. Thus, the maximum number of processes is represented by a string such as "1024" and the requested level is represented by a string such as "MPI_THREAD_SINGLE".
The info object MPI_INFO_ENV need not contain a (key,value) pair for each of these predefined keys; the set of (key,value) pairs provided is implementation-dependent. Implementations may provide additional, implementation specific, (key,value) pairs.

History

#1 Updated by Sam White over 2 years ago

  • Parent task set to #944

#2 Updated by Sam White over 2 years ago

We might want to supply builtin MPI_Info objects for AMPI_Migrate, so users don't have to always create their own. This will simplify adding AMPI_Migrate calls to applications from 4 lines to 1 line:

Predefined MPI_Infos for AMPI_Migrate:

AMPI_INFO_LB_SYNC
AMPI_INFO_LB_ASYNC
AMPI_INFO_CHKPT_IN_MEMORY

Example new usage:

AMPI_Migrate(AMPI_INFO_LB_SYNC);

This is much simper than the old way:

MPI_Info info;
MPI_Info_create(&info);
MPI_Info_set(info, "ampi_load_balance", "sync");
AMPI_Migrate(info);

This would be done in a separate commit anways, just an idea...

#3 Updated by Sam White over 2 years ago

  • Assignee changed from Sam White to Karthik Senthil

#4 Updated by Sam White over 2 years ago

  • Target version changed from 6.8.0 to 6.8.1

#5 Updated by Sam White almost 2 years ago

  • Status changed from New to Implemented

#6 Updated by Karthik Senthil almost 2 years ago

Should I submit another patch defining the MPI_Info objects to simplify AMPI_Migrate calls?

#7 Updated by Sam White almost 2 years ago

Yes

#8 Updated by Sam White almost 2 years ago

  • Target version changed from 6.8.1 to 6.9.0

#9 Updated by Matthias Diener over 1 year ago

  • Status changed from Implemented to Merged

#10 Updated by Sam White 12 months ago

  • % Done changed from 0 to 100

Also available in: Atom PDF