NAME

PAPI_library_init, PAPI_is_initialized - initialize the PAPI library; check for initialization

CONTENTS

Synopsis
Description
Arguments
Return Values
Errors
Examples
Authors
Bugs
See Also

SYNOPSIS

C Interface

#include <papi.h> 

int PAPI_library_init(int version); 

int PAPI_is_initialized(void); 

Fortran Interface

#include fpapi.h 

PAPIF_library_init(C_INT check) 

PAPIF_is_initialized(C_INT check) 

DESCRIPTION

PAPI_library_init() initializes the PAPI library. It must be called before any low level PAPI functions can be used. If your application is making use of threads PAPI_thread_init (3) must also be called prior to making any calls to the library other than PAPI_library_init().

PAPI_is_initialized() returns the status of the PAPI library. The PAPI library can be in one of three states, as described under RETURN VALUES.

ARGUMENTS

version -- upon initialization, PAPI checks the argument against the internal value of PAPI_VER_CURRENT when the library was compiled. This guards against portability problems when updating the PAPI shared libraries on your system.

RETURN VALUES

PAPI_library_init : On success, this function returns PAPI_VER_CURRENT . A positive return code other than PAPI_VER_CURRENT indicates a library version mis-match. A negative error code indicates an initialization error.

PAPI_is_initialized :

PAPI_NOT_INITED
-- PAPI has not been initialized

PAPI_LOW_LEVEL_INITED
-- PAPI_library_init has been called

PAPI_HIGH_LEVEL_INITED
-- a high level PAPI function has been called

ERRORS

PAPI_is_initialized never returns an error.

PAPI_library_init can return the following:
PAPI_EINVAL
  papi.h is different from the version used to compile the PAPI library.
PAPI_ENOMEM
  Insufficient memory to complete the operation.
PAPI_ESBSTR
  This substrate does not support the underlying hardware.
PAPI_ESYS
  A system or C library call failed inside PAPI, see the errno variable.

EXAMPLES


int retval;

/* Initialize the library */

retval = PAPI_library_init(PAPI_VER_CURRENT);

if (retval != PAPI_VER_CURRENT && retval > 0) { fprintf(stderr,"PAPI library version mismatch!\n"); exit(1); }

if (retval < 0) handle_error(retval);

retval = PAPI_is_initialized();

if (retval != PAPI_LOW_LEVEL_INITED) handle_error(retval);

AUTHORS

The PAPI Team. See them at the PAPI Web Site: http://icl.cs.utk.edu/projects/papi

BUGS

If you don’t call this before using any of the low level PAPI calls, your application could core dump.

SEE ALSO

PAPI_thread_init (3), PAPI_preset (3), PAPI (3)


PAPI Programmer’s Reference PAPI_library_init (3) November, 2003

  Innovative Computing Laboratory
2001 R&D Winner  
Contact PAPI: papi@cs.utk.edu Computer Science Department
  University of Tennessee