PAPI_get_hardware_info - Online Linux Manual PageSection : 3
Updated : September, 2004
Source : PAPI Programmer's Reference
Note : PAPI

NAMEPAPI_get_hardware_info − get information about the system hardware

SYNOPSISC Interface #include <papi.h> const PAPI_hw_info_t *PAPI_get_hardware_info(void);Fortran Interface #include "fpapi.h" PAPIF_get_hardware_info(C_INT ncpu, C_INT nnodes, C_INT totalcpus, C_INT vendor, C_STRING vendor_string, C_INT model, C_STRING model_string,C_FLOAT revision, C_FLOAT mhz)

DESCRIPTIONIn C, this function returns a pointer to a structure containing information about the hardware on which the program runs. In Fortran, the values of the structure are returned explicitly.

NOTEThe C structure contains detailed information about cache and TLB sizes. This information is not available from Fortran.

ARGUMENTSThe following arguments are implicit in the structure returned by the C function, or explicitly returned by Fortran. ncpu -- number of CPUs in an SMP Node nnodes -- number of Nodes in the entire system totalcpus -- total number of CPUs in the entire system vendor -- vendor id number of CPU vendor_string -- vendor id string of CPU model -- model number of CPU model_string -- model string of CPU revision -- Revision number of CPU mhz -- Cycle time of this CPU; *may* be an estimate generated at init time with a quick timing routine mem_hierarchy -- PAPI memory heirarchy description

RETURN VALUESOn success, the C function returns a non-NULL pointer, and the Fortran function returns PAPI_OK.
 On error, NULL is returned by the C function, and a non-zero error code is returned by the Fortran function.

ERRORSPAPI_EINVAL"  One or more of the arguments is invalid.

EXAMPLEconst PAPI_hw_info_t *hwinfo = NULL; if (PAPI_library_init(PAPI_VER_CURRENT) != PAPI_VER_CURRENT) exit(1); if ((hwinfo = PAPI_get_hardware_info()) == NULL) exit(1); printf("%d CPU's at %f Mhz.\n",hwinfo->totalcpus,hwinfo->mhz);

DATA STRUCTUREThe C data structure returned by this function is found in papi.h and reproduced below: typedef struct _papi_mh_tlb_info { int type; /* See papi.h for PAPI_MH definitions. */ int num_entries; int associativity; } PAPI_mh_tlb_info_t; typedef struct _papi_mh_cache_info { int type; /* See papi.h for PAPI_MH definitions. */ int size; int line_size; int num_lines; int associativity; } PAPI_mh_cache_info_t; typedef struct _papi_mh_level_info { PAPI_mh_tlb_info_t tlb[2]; PAPI_mh_cache_info_t cache[2]; } PAPI_mh_level_t; typedef struct _papi_mh_info { /* mh for mem hierarchy maybe? */ int levels; PAPI_mh_level_t level[PAPI_MAX_MEM_HIERARCHY_LEVELS]; } PAPI_mh_info_t; typedef struct _papi_hw_info { int ncpu; /* Number of CPU's in an SMP Node */ int nnodes; /* Number of Nodes in the entire system */ int totalcpus; /* Total number of CPU's in the entire system */ int vendor; /* Vendor number of CPU */ char vendor_string[PAPI_MAX_STR_LEN]; /* Vendor string of CPU */ int model; /* Model number of CPU */ char model_string[PAPI_MAX_STR_LEN]; /* Model string of CPU */ float revision; /* Revision of CPU */ float mhz; /* Cycle time of this CPU, *may* be estimated at init time with a quick timing routine */ PAPI_mh_info_t mem_hierarchy; /* PAPI memory heirarchy description */ } PAPI_hw_info_t;

BUGSIf called before PAPI_library_init() the behavior of the routine is undefined.

SEE ALSOPAPI_library_init(3)," PAPI_get_dmem_info(3)," PAPI_get_opt(3)," PAPI_get_executable_info(3)"
0
Johanes Gumabo
Data Size   :   11,732 byte
man-PAPI_get_hardware_info.3Build   :   2024-12-29, 07:25   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   5 / 257,165
Visitor ID   :     :  
Visitor IP   :   18.222.161.245   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.29
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.