1 /* 2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana 3 * University Research and Technology 4 * Corporation. All rights reserved. 5 * Copyright (c) 2004-2006 The University of Tennessee and The University 6 * of Tennessee Research Foundation. All rights 7 * reserved. 8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 9 * University of Stuttgart. All rights reserved. 10 * Copyright (c) 2004-2005 The Regents of the University of California. 11 * All rights reserved. 12 * Copyright (c) 2007-2008 Sun Microsystems, Inc. All rights reserved. 13 * $COPYRIGHT$ 14 * 15 * Additional copyrights may follow 16 * 17 * $HEADER$ 18 */ 19 20 /** 21 * @file 22 * 23 * Interface into the Open MPI Run Time Environment 24 */ 25 #ifndef ORTE_RUNTIME_H 26 #define ORTE_RUNTIME_H 27 28 #include "orte_config.h" 29 30 #ifdef HAVE_SYS_TYPES_H 31 #include <sys/types.h> 32 #endif 33 34 #include "orte/util/proc_info.h" 35 36 BEGIN_C_DECLS 37 38 /** version string of ompi */ 39 ORTE_DECLSPEC extern const char orte_version_string[]; 40 41 /** 42 * Whether ORTE is initialized or we are in orte_finalize 43 */ 44 ORTE_DECLSPEC extern int orte_initialized; 45 ORTE_DECLSPEC extern bool orte_finalizing; 46 ORTE_DECLSPEC extern int orte_debug_output; 47 ORTE_DECLSPEC extern bool orte_debug_flag; 48 49 /** 50 * Initialize the Open Run Time Environment 51 * 52 * Initlize the Open Run Time Environment, including process 53 * control, malloc debugging and threads, and out of band messaging. 54 * This function should be called exactly once. This function should 55 * be called by every application using the RTE interface, including 56 * MPI applications and mpirun. 57 * 58 * @param pargc Pointer to the number of arguments in the pargv array 59 * @param pargv The list of arguments. 60 * @param flags Whether we are ORTE tool or not 61 */ 62 ORTE_DECLSPEC int orte_init(int*pargc, char*** pargv, orte_proc_type_t flags); 63 64 /** 65 * Initialize parameters for ORTE. 66 * 67 * @retval ORTE_SUCCESS Upon success. 68 * @retval ORTE_ERROR Upon failure. 69 */ 70 ORTE_DECLSPEC int orte_register_params(void); 71 72 /** 73 * Finalize the Open run time environment. Any function calling \code 74 * orte_init should call \code orte_finalize. 75 * 76 */ 77 ORTE_DECLSPEC int orte_finalize(void); 78 79 END_C_DECLS 80 81 #endif /* RUNTIME_H */