2005-05-19 17:33:55 +04:00
|
|
|
/*
|
2007-03-17 02:11:45 +03:00
|
|
|
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
2005-11-05 22:57:48 +03:00
|
|
|
* University Research and Technology
|
|
|
|
* Corporation. All rights reserved.
|
2009-12-04 03:51:15 +03:00
|
|
|
* Copyright (c) 2004-2007 The University of Tennessee and The University
|
2005-11-05 22:57:48 +03:00
|
|
|
* of Tennessee Research Foundation. All rights
|
|
|
|
* reserved.
|
2005-05-19 17:33:55 +04:00
|
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
* University of Stuttgart. All rights reserved.
|
|
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
* All rights reserved.
|
2008-05-20 16:13:19 +04:00
|
|
|
* Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
|
2012-04-24 21:31:06 +04:00
|
|
|
* Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
|
2005-05-19 17:33:55 +04:00
|
|
|
* $COPYRIGHT$
|
|
|
|
*
|
|
|
|
* Additional copyrights may follow
|
|
|
|
*
|
|
|
|
* $HEADER$
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** @file **/
|
|
|
|
|
2005-05-22 22:40:03 +04:00
|
|
|
#ifndef OPAL_H
|
|
|
|
#define OPAL_H
|
|
|
|
|
2007-01-18 20:40:21 +03:00
|
|
|
#include "opal_config.h"
|
|
|
|
|
2008-12-10 02:49:02 +03:00
|
|
|
BEGIN_C_DECLS
|
2005-08-18 19:48:59 +04:00
|
|
|
|
2008-05-20 16:13:19 +04:00
|
|
|
/** version string of opal */
|
|
|
|
OPAL_DECLSPEC extern const char opal_version_string[];
|
|
|
|
|
2012-04-24 21:31:06 +04:00
|
|
|
/* Size of a cache line. Initialized to a fixed value (see
|
|
|
|
opal_init.c) until hwloc data is available, at which time it is
|
|
|
|
filled with the smallest size of the lowest cache line (e.g., the
|
2012-04-24 21:35:19 +04:00
|
|
|
smallest line size from all L2 caches found on the current system).
|
|
|
|
If the hwloc data is available, opal_cache_line_size will be set to
|
|
|
|
its final value by the end of orte_init(). */
|
2010-07-06 18:33:36 +04:00
|
|
|
OPAL_DECLSPEC extern int opal_cache_line_size;
|
|
|
|
|
2005-05-22 22:40:03 +04:00
|
|
|
/**
|
2006-01-16 04:48:03 +03:00
|
|
|
* Initialize the OPAL layer, including the MCA system.
|
2005-05-22 22:40:03 +04:00
|
|
|
*
|
2006-02-12 04:33:29 +03:00
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
2005-05-22 22:40:03 +04:00
|
|
|
*
|
2006-01-16 04:48:03 +03:00
|
|
|
* \note If this function is called, opal_init_util() should *not* be
|
|
|
|
* called.
|
2005-05-22 22:40:03 +04:00
|
|
|
*/
|
2009-12-04 03:51:15 +03:00
|
|
|
OPAL_DECLSPEC int opal_init(int* pargc, char*** pargv);
|
2005-05-19 17:33:55 +04:00
|
|
|
|
|
|
|
/**
|
2006-01-16 04:48:03 +03:00
|
|
|
* Finalize the OPAL layer, including the MCA system.
|
2005-05-19 17:33:55 +04:00
|
|
|
*
|
2006-02-12 04:33:29 +03:00
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
2005-05-19 17:33:55 +04:00
|
|
|
*
|
2006-01-16 04:48:03 +03:00
|
|
|
* \note If this function is called, opal_finalize_util() should *not*
|
|
|
|
* be called.
|
2005-05-19 17:33:55 +04:00
|
|
|
*/
|
2006-08-20 19:54:04 +04:00
|
|
|
OPAL_DECLSPEC int opal_finalize(void);
|
2005-05-19 17:33:55 +04:00
|
|
|
|
2006-01-16 04:48:03 +03:00
|
|
|
/**
|
|
|
|
* Initialize the OPAL layer, excluding the MCA system.
|
|
|
|
*
|
2006-02-12 04:33:29 +03:00
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
2006-01-16 04:48:03 +03:00
|
|
|
*
|
|
|
|
* \note If this function is called, opal_init() should *not*
|
|
|
|
* be called.
|
|
|
|
*/
|
2009-12-04 03:51:15 +03:00
|
|
|
OPAL_DECLSPEC int opal_init_util(int* pargc, char*** pargv);
|
2006-01-16 04:48:03 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Finalize the OPAL layer, excluding the MCA system.
|
|
|
|
*
|
2006-02-12 04:33:29 +03:00
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
2006-01-16 04:48:03 +03:00
|
|
|
*
|
|
|
|
* \note If this function is called, opal_finalize() should *not*
|
|
|
|
* be called.
|
|
|
|
*/
|
2006-08-20 19:54:04 +04:00
|
|
|
OPAL_DECLSPEC int opal_finalize_util(void);
|
2006-01-16 04:48:03 +03:00
|
|
|
|
2014-01-30 15:14:36 +04:00
|
|
|
/**
|
2014-02-05 19:48:31 +04:00
|
|
|
* Initialize a very thin OPAL layer solely for use
|
|
|
|
* by unit tests. The purpose of this function is to
|
|
|
|
* provide the absolute bare minimum support required
|
|
|
|
* to open, select, and close a framework. This is
|
|
|
|
* maintained separately from the other OPAL runtime
|
|
|
|
* APIs to avoid conflicts when new frameworks are
|
|
|
|
* added to the normal OPAL init sequence. It has no
|
|
|
|
* other purpose and should not be used outside of
|
|
|
|
* unit tests.
|
|
|
|
*
|
2014-01-30 15:14:36 +04:00
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
|
|
|
*/
|
|
|
|
OPAL_DECLSPEC int opal_init_test(void);
|
|
|
|
|
|
|
|
/**
|
2014-02-05 19:48:31 +04:00
|
|
|
* Finalize the very thin OPAL layer used solely
|
|
|
|
* by unit tests. The purpose of this function is to
|
|
|
|
* finalize the absolute bare minimum support opened
|
|
|
|
* by its companion opal_init_test API. It has no
|
|
|
|
* other purpose and should not be used outside of
|
|
|
|
* unit tests.
|
2014-01-30 15:14:36 +04:00
|
|
|
*
|
|
|
|
* @retval OPAL_SUCCESS Upon success.
|
|
|
|
* @retval OPAL_ERROR Upon failure.
|
|
|
|
*/
|
|
|
|
OPAL_DECLSPEC void opal_finalize_test(void);
|
|
|
|
|
2006-01-16 04:48:03 +03:00
|
|
|
/**
|
|
|
|
* Internal function. Do not call.
|
|
|
|
*/
|
2006-08-20 19:54:04 +04:00
|
|
|
OPAL_DECLSPEC int opal_register_params(void);
|
2014-07-15 09:20:26 +04:00
|
|
|
OPAL_DECLSPEC int opal_deregister_params(void);
|
2006-01-11 07:36:39 +03:00
|
|
|
|
2008-12-10 02:49:02 +03:00
|
|
|
END_C_DECLS
|
2005-08-18 19:48:59 +04:00
|
|
|
|
2005-05-19 17:33:55 +04:00
|
|
|
#endif
|