galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
galaxy::CPUInfo Struct Reference

Data structure containing info about the cpu, such as RAM, cache, SIMD, etc. More...

#include <CPUInfo.hpp>

Collaboration diagram for galaxy::CPUInfo:

Public Attributes

int cpu_cache_line_size
 Determine the L1 cache line size of the CPU.
int logical_core_count
 Get the number of logical CPU cores available.
int system_page_size
 Report the size of a page of memory.
std::size_t simd_alignment
 This will return the minimum number of bytes to which a pointer must be aligned to be compatible with SIMD instructions on the current machine.
int system_ram
 Returns the amount of RAM configured in the system in MiB.
bool has_altivec
 Returns true if the CPU has AltiVec features or false if not.
bool has_arm_simd
 Determine whether the CPU has ARM SIMD (ARMv6) features.
bool has_avx
 Determine whether the CPU has AVX features.
bool has_avx2
 Determine whether the CPU has AVX2 features.
bool has_avx512f
 Determine whether the CPU has AVX-512F (foundation) features.
bool has_lasx
 Determine whether the CPU has LASX (LOONGARCH SIMD) features.
bool has_lsx
 Determine whether the CPU has LSX (LOONGARCH SIMD) features.
bool has_mmx
 Determine whether the CPU has MMX features.
bool has_neon
 Determine whether the CPU has NEON (ARM SIMD) features.
bool has_sse
 Determine whether the CPU has SSE features.
bool has_sse2
 Determine whether the CPU has SSE2 features.
bool has_sse3
 Determine whether the CPU has SSE3 features.
bool has_sse41
 Determine whether the CPU has SSE41 features.
bool has_sse42
 Determine whether the CPU has SSE42 features.
bool has_sve2
 Determine whether the CPU has SVE2 (Scalable Vector Extension 2).

Detailed Description

Data structure containing info about the cpu, such as RAM, cache, SIMD, etc.

Definition at line 18 of file CPUInfo.hpp.

Member Data Documentation

◆ cpu_cache_line_size

int galaxy::CPUInfo::cpu_cache_line_size

Determine the L1 cache line size of the CPU.

Definition at line 21 of file CPUInfo.hpp.

◆ logical_core_count

int galaxy::CPUInfo::logical_core_count

Get the number of logical CPU cores available.

Definition at line 23 of file CPUInfo.hpp.

◆ system_page_size

int galaxy::CPUInfo::system_page_size

Report the size of a page of memory.

Definition at line 25 of file CPUInfo.hpp.

◆ simd_alignment

std::size_t galaxy::CPUInfo::simd_alignment

This will return the minimum number of bytes to which a pointer must be aligned to be compatible with SIMD instructions on the current machine.

Definition at line 27 of file CPUInfo.hpp.

◆ system_ram

int galaxy::CPUInfo::system_ram

Returns the amount of RAM configured in the system in MiB.

Definition at line 29 of file CPUInfo.hpp.

◆ has_altivec

bool galaxy::CPUInfo::has_altivec

Returns true if the CPU has AltiVec features or false if not.

Definition at line 31 of file CPUInfo.hpp.

◆ has_arm_simd

bool galaxy::CPUInfo::has_arm_simd

Determine whether the CPU has ARM SIMD (ARMv6) features.

Definition at line 33 of file CPUInfo.hpp.

◆ has_avx

bool galaxy::CPUInfo::has_avx

Determine whether the CPU has AVX features.

Definition at line 35 of file CPUInfo.hpp.

◆ has_avx2

bool galaxy::CPUInfo::has_avx2

Determine whether the CPU has AVX2 features.

Definition at line 37 of file CPUInfo.hpp.

◆ has_avx512f

bool galaxy::CPUInfo::has_avx512f

Determine whether the CPU has AVX-512F (foundation) features.

Definition at line 39 of file CPUInfo.hpp.

◆ has_lasx

bool galaxy::CPUInfo::has_lasx

Determine whether the CPU has LASX (LOONGARCH SIMD) features.

Definition at line 41 of file CPUInfo.hpp.

◆ has_lsx

bool galaxy::CPUInfo::has_lsx

Determine whether the CPU has LSX (LOONGARCH SIMD) features.

Definition at line 43 of file CPUInfo.hpp.

◆ has_mmx

bool galaxy::CPUInfo::has_mmx

Determine whether the CPU has MMX features.

Definition at line 45 of file CPUInfo.hpp.

◆ has_neon

bool galaxy::CPUInfo::has_neon

Determine whether the CPU has NEON (ARM SIMD) features.

Definition at line 47 of file CPUInfo.hpp.

◆ has_sse

bool galaxy::CPUInfo::has_sse

Determine whether the CPU has SSE features.

Definition at line 49 of file CPUInfo.hpp.

◆ has_sse2

bool galaxy::CPUInfo::has_sse2

Determine whether the CPU has SSE2 features.

Definition at line 51 of file CPUInfo.hpp.

◆ has_sse3

bool galaxy::CPUInfo::has_sse3

Determine whether the CPU has SSE3 features.

Definition at line 53 of file CPUInfo.hpp.

◆ has_sse41

bool galaxy::CPUInfo::has_sse41

Determine whether the CPU has SSE41 features.

Definition at line 55 of file CPUInfo.hpp.

◆ has_sse42

bool galaxy::CPUInfo::has_sse42

Determine whether the CPU has SSE42 features.

Definition at line 57 of file CPUInfo.hpp.

◆ has_sve2

bool galaxy::CPUInfo::has_sve2

Determine whether the CPU has SVE2 (Scalable Vector Extension 2).

Definition at line 59 of file CPUInfo.hpp.


The documentation for this struct was generated from the following file: