Blame src/examples/PAPI_hw_info.c

Packit Service a1973e
/****************************************************************************
Packit Service a1973e
 * This is a simple low level example for getting information on the system *
Packit Service a1973e
 * hardware. This function PAPI_get_hardware_info(), returns a pointer to a *
Packit Service a1973e
 * structure of type PAPI_hw_info_t, which contains number of CPUs, nodes,  *
Packit Service a1973e
 * vendor number/name for CPU, CPU revision, clock speed.                   *
Packit Service a1973e
 ****************************************************************************/
Packit Service a1973e
Packit Service a1973e
#include <stdio.h>
Packit Service a1973e
#include <stdlib.h>
Packit Service a1973e
#include "papi.h" /* This needs to be included every time you use PAPI */
Packit Service a1973e
Packit Service a1973e
int main()
Packit Service a1973e
{
Packit Service a1973e
   const PAPI_hw_info_t *hwinfo = NULL;
Packit Service a1973e
   int retval;
Packit Service a1973e
  
Packit Service a1973e
   /*************************************************************************** 
Packit Service a1973e
   *  This part initializes the library and compares the version number of the*
Packit Service a1973e
   * header file, to the version of the library, if these don't match then it *
Packit Service a1973e
   * is likely that PAPI won't work correctly.If there is an error, retval    *
Packit Service a1973e
   * keeps track of the version number.                                       *
Packit Service a1973e
   ***************************************************************************/
Packit Service a1973e
Packit Service a1973e
Packit Service a1973e
   if((retval = PAPI_library_init(PAPI_VER_CURRENT)) != PAPI_VER_CURRENT )
Packit Service a1973e
   {
Packit Service a1973e
      printf("Library initialization error! \n");
Packit Service a1973e
      exit(1);
Packit Service a1973e
   }
Packit Service a1973e
     
Packit Service a1973e
   /* Get hardware info*/      
Packit Service a1973e
   if ((hwinfo = PAPI_get_hardware_info()) == NULL)
Packit Service a1973e
   {
Packit Service a1973e
      printf("PAPI_get_hardware_info error! \n");
Packit Service a1973e
      exit(1);
Packit Service a1973e
   }
Packit Service a1973e
   /* when there is an error, PAPI_get_hardware_info returns NULL */
Packit Service a1973e
Packit Service a1973e
Packit Service a1973e
   printf("%d CPU  at %f Mhz.\n",hwinfo->totalcpus,hwinfo->mhz);
Packit Service a1973e
   printf(" model string is %s \n", hwinfo->model_string);
Packit Service a1973e
Packit Service a1973e
   /* clean up */ 
Packit Service a1973e
   PAPI_shutdown();
Packit Service a1973e
Packit Service a1973e
   exit(0);
Packit Service a1973e
Packit Service a1973e
}
Packit Service a1973e