PAPI3:PAPI library init.3
|
From PAPIDocs
Name
SynopsisC 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 ) DescriptionPAPI_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. Argumentsversion -- 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. ErrorsPAPI_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. Examplesint retval; /* Initialize the library */ retval = PAPI_library_init(PAPI_VER_CURRENT); if (retval != PAPI_VER_CURRENT && retval > 0) { fprintf(stderr,"PAPI library version mismatch!\en"); exit(1); } if (retval < 0) handle_error(retval); retval = PAPI_is_initialized(); if (retval != PAPI_LOW_LEVEL_INITED) handle_error(retval); BugsIf you don't call this before using any of the low level PAPI calls, your application could core dump. See Also |