API Reference Manual  1.46.0
api/spec/cpu.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2015-2018 Linaro Limited
3  * Copyright (c) 2024 Nokia
4  */
5 
12 #ifndef ODP_API_SPEC_CPU_H_
13 #define ODP_API_SPEC_CPU_H_
14 #include <odp/visibility_begin.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include <odp/api/std_types.h>
21 
35 int odp_cpu_id(void);
36 
45 int odp_cpu_count(void);
46 
54 const char *odp_cpu_model_str(void);
55 
65 const char *odp_cpu_model_str_id(int id);
66 
76 uint64_t odp_cpu_hz(void);
77 
89 uint64_t odp_cpu_hz_id(int id);
90 
100 uint64_t odp_cpu_hz_max(void);
101 
113 uint64_t odp_cpu_hz_max_id(int id);
114 
131 uint64_t odp_cpu_cycles(void);
132 
145 uint64_t odp_cpu_cycles_diff(uint64_t c2, uint64_t c1);
146 
156 uint64_t odp_cpu_cycles_max(void);
157 
169 
177 void odp_cpu_pause(void);
178 
187 void odp_prefetch(const void *addr);
188 
196 void odp_prefetch_l1(const void *addr);
197 
205 void odp_prefetch_l2(const void *addr);
206 
214 void odp_prefetch_l3(const void *addr);
215 
224 void odp_prefetch_store(const void *addr);
225 
233 void odp_prefetch_store_l1(const void *addr);
234 
242 void odp_prefetch_store_l2(const void *addr);
243 
251 void odp_prefetch_store_l3(const void *addr);
252 
261 void odp_prefetch_strm_l1(const void *addr);
262 
271 void odp_prefetch_store_strm_l1(const void *addr);
272 
280 void odp_prefetch_l1i(const void *addr);
281 
286 #ifdef __cplusplus
287 }
288 #endif
289 
290 #include <odp/visibility_end.h>
291 #endif
Standard C language types and definitions for ODP.
const char * odp_cpu_model_str(void)
CPU model name of this CPU.
void odp_cpu_pause(void)
Pause CPU execution for a short while.
uint64_t odp_cpu_cycles_diff(uint64_t c2, uint64_t c1)
CPU cycle count difference.
uint64_t odp_cpu_cycles_resolution(void)
Resolution of CPU cycle count.
void odp_prefetch_store(const void *addr)
Prefetch into data cache for storing.
uint64_t odp_cpu_cycles(void)
Current CPU cycle count.
int odp_cpu_id(void)
CPU identifier.
int odp_cpu_count(void)
CPU count.
void odp_prefetch_l3(const void *addr)
Prefetch into L3 data cache.
void odp_prefetch_store_strm_l1(const void *addr)
Streaming prefetch into L1 data cache for storing.
void odp_prefetch_l1i(const void *addr)
Prefetch into L1 instruction cache.
void odp_prefetch_store_l1(const void *addr)
Prefetch into L1 data cache for storing.
void odp_prefetch_l1(const void *addr)
Prefetch into L1 data cache.
uint64_t odp_cpu_hz_max_id(int id)
Maximum CPU frequency of a CPU (in Hz)
void odp_prefetch_l2(const void *addr)
Prefetch into L2 data cache.
uint64_t odp_cpu_hz_max(void)
Maximum CPU frequency in Hz.
void odp_prefetch(const void *addr)
Prefetch into data cache.
void odp_prefetch_store_l2(const void *addr)
Prefetch into L2 data cache for storing.
uint64_t odp_cpu_cycles_max(void)
Maximum CPU cycle count.
void odp_prefetch_strm_l1(const void *addr)
Streaming prefetch into L1 data cache.
uint64_t odp_cpu_hz(void)
Current CPU frequency in Hz.
void odp_prefetch_store_l3(const void *addr)
Prefetch into L3 data cache for storing.
const char * odp_cpu_model_str_id(int id)
CPU model name of a CPU.
uint64_t odp_cpu_hz_id(int id)
Current CPU frequency of a CPU (in Hz)