geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
geopm_topo.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 - 2024 Intel Corporation
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef GEOPM_TOPO_H_INCLUDE
7 #define GEOPM_TOPO_H_INCLUDE
8 
9 #include <stddef.h>
10 
11 #include "geopm_public.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
74 };
75 
76 int GEOPM_PUBLIC
77  geopm_topo_num_domain(int domain_type);
78 
79 int GEOPM_PUBLIC
80  geopm_topo_domain_idx(int domain_type, int cpu_idx);
81 
82 int GEOPM_PUBLIC
83  geopm_topo_num_domain_nested(int inner_domain, int outer_domain);
84 
85 int GEOPM_PUBLIC
86  geopm_topo_domain_nested(int inner_domain, int outer_domain, int outer_idx,
87  size_t num_domain_nested, int *domain_nested);
88 
89 int GEOPM_PUBLIC
90  geopm_topo_domain_name(int domain_type, size_t domain_name_max, char *domain_name);
91 
92 int GEOPM_PUBLIC
93  geopm_topo_domain_type(const char *domain_name);
94 
95 int GEOPM_PUBLIC
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 #endif
#define GEOPM_PUBLIC
Definition: geopm_public.h:10
int GEOPM_PUBLIC geopm_topo_domain_name(int domain_type, size_t domain_name_max, char *domain_name)
Definition: PlatformTopo.cpp:821
int GEOPM_PUBLIC geopm_topo_domain_idx(int domain_type, int cpu_idx)
Definition: PlatformTopo.cpp:758
int GEOPM_PUBLIC geopm_topo_create_cache(void)
Definition: PlatformTopo.cpp:854
int GEOPM_PUBLIC geopm_topo_num_domain(int domain_type)
Definition: PlatformTopo.cpp:745
int GEOPM_PUBLIC geopm_topo_num_domain_nested(int inner_domain, int outer_domain)
Definition: PlatformTopo.cpp:771
int GEOPM_PUBLIC geopm_topo_domain_type(const char *domain_name)
Definition: PlatformTopo.cpp:841
geopm_domain_e
Definition: geopm_topo.h:17
@ GEOPM_NUM_DOMAIN
Number of valid domains.
Definition: geopm_topo.h:73
@ GEOPM_DOMAIN_INVALID
Reserved to represent an invalid domain.
Definition: geopm_topo.h:21
@ GEOPM_DOMAIN_CPU
Linux logical CPU.
Definition: geopm_topo.h:38
@ GEOPM_DOMAIN_NIC
Network interface controller on the PCI bus.
Definition: geopm_topo.h:50
@ GEOPM_DOMAIN_PACKAGE_INTEGRATED_MEMORY
On package memory (MCDRAM)
Definition: geopm_topo.h:46
@ GEOPM_DOMAIN_MEMORY
Standard off package DIMM (DRAM or NAND)
Definition: geopm_topo.h:42
@ GEOPM_DOMAIN_BOARD
All components on a user allocated compute node (one per controller)
Definition: geopm_topo.h:26
@ GEOPM_DOMAIN_PACKAGE_INTEGRATED_NIC
Network interface controller on the processor package.
Definition: geopm_topo.h:55
@ GEOPM_DOMAIN_GPU_CHIP
GPU card chips within a package on the PCI Bus (e.g Level Zero subdevices)
Definition: geopm_topo.h:69
@ GEOPM_DOMAIN_GPU
GPU card on the PCI bus.
Definition: geopm_topo.h:59
@ GEOPM_DOMAIN_PACKAGE
Single processor package in one socket.
Definition: geopm_topo.h:30
@ GEOPM_DOMAIN_CORE
Group of associated hyper-threads.
Definition: geopm_topo.h:34
@ GEOPM_DOMAIN_PACKAGE_INTEGRATED_GPU
GPU unit on the package (e.g on-package graphics)
Definition: geopm_topo.h:64
int GEOPM_PUBLIC geopm_topo_domain_nested(int inner_domain, int outer_domain, int outer_idx, size_t num_domain_nested, int *domain_nested)
Definition: PlatformTopo.cpp:790