1
1

* add start of the mpirun (C version) code

* Add error message to oob_base_init to make it clear when we have a
  startup failure
* correctly initialize pcm output stream variable

This commit was SVN r1955.
Этот коммит содержится в:
Brian Barrett 2004-08-07 20:07:25 +00:00
родитель c5981080f2
Коммит bf3c788bb5
4 изменённых файлов: 93 добавлений и 1 удалений

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

@ -52,6 +52,7 @@ int mca_oob_base_init(bool *user_threads, bool *hidden_threads)
OBJ_CONSTRUCT(&mca_oob_name_self, ompi_process_name_t);
self = mca_pcm.pcm_self();
if(NULL == self) {
ompi_output(0, "mca_oob_base_init: could not get PCM self pointer");
return OMPI_ERROR;
}
mca_oob_name_self = *self;

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

@ -21,7 +21,7 @@
/*
* Global variables
*/
int mca_pcm_base_output = -1;
int mca_pcm_base_output = 0;
mca_pcm_base_module_t mca_pcm;
ompi_list_t mca_pcm_base_components_available;
mca_pcm_base_component_t mca_pcm_base_selected_component;

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

@ -5,7 +5,23 @@
include $(top_srcdir)/config/Makefile.options
libs = $(top_builddir)/src/libmpi.la
bin_SCRIPTS = mpirun mpiboot
EXTRA_DIST = $(bin_SCRIPTS)
bin_PROGRAMS = mpirun2
mpirun2_SOURCES = \
mpirun2.cc
mpirun2_LDADD = \
$(libs) \
$(LIBMPI_EXTRA_LIBS) \
$(LIBOMPI_EXTRA_LIBS)
mpirun2_LDFLAGS = \
$(LIBMPI_EXTRA_LDFLAGS) \
$(LIBOMPI_EXTRA_LDFLAGS)
mpirun2_DEPENDENCIES = \
$(libs)

75
src/tools/mpirun/mpirun2.cc Обычный файл
Просмотреть файл

@ -0,0 +1,75 @@
/* -*- C++ -*-
*
* $HEADER$
*/
#include "ompi_config.h"
#include "runtime/runtime.h"
#include "mca/base/base.h"
#include "util/cmd_line.h"
#include "include/constants.h"
#include <stdio.h>
int
main(int argc, char *argv[])
{
bool multi_thread = false;
bool hidden_thread = false;
int ret;
ompi_cmd_line_t *cmd_line = NULL;
/*
* Intialize our environment
*/
cmd_line = ompi_cmd_line_create();
if (OMPI_SUCCESS != ompi_init(argc, argv)) {
/* BWB show_help */
printf("show_help: ompi_init failed\n");
return ret;
}
if (OMPI_SUCCESS != (ret = mca_base_cmd_line_setup(cmd_line))) {
/* BWB show_help */
printf("show_help: mca_base_cmd_line_setup failed\n");
return ret;
}
if (OMPI_SUCCESS != ompi_cmd_line_parse(cmd_line, false, argc, argv) ||
ompi_cmd_line_is_taken(cmd_line, "help") ||
ompi_cmd_line_is_taken(cmd_line, "h")) {
printf("...showing ompi_info help message...\n");
exit(1);
}
if (OMPI_SUCCESS != mca_base_cmd_line_process_args(cmd_line)) {
/* BWB show_help */
printf("show_help: mca_base_cmd_line_process_args\n");
return ret;
}
if (OMPI_SUCCESS != (ret = mca_base_open())) {
/* JMS show_help */
printf("show_help: mca_base_open failed\n");
return ret;
}
if (OMPI_SUCCESS != ompi_rte_init(&multi_thread, &hidden_thread)) {
/* BWB show_help */
printf("show_help: ompi_rte_init failed\n");
return ret;
}
/*
* Clean up
*/
ompi_rte_finalize();
mca_base_close();
ompi_finalize();
return 0;
}