3 ms·
It's 8-core, but they're 4 performance and 4 low-power cores, so it's not your normal 8-core chip. It's more like a big.LITTLE chip.
by cornstalks 6y ago
It's 8-core, but they're 4 performance and 4 low-power cores, so it's not your normal 8-core chip. It's more like a big.LITTLE chip.
- semi-extrinsic 6y agoAnyone know how you interact with these cores as a developer/user? Say if I'm running some C code with OpenMP parallelism, can I bind it to three of the fast cores?
- saagarjha 6y agoBinding to specific cores is not exposed to userspace, but you can influence which kinds of cores it's likely to be run on by setting thread priorities and QoS classes.
- TkTech 6y agoWith ARM, yes, and you can also selectively turn on and off cores. For example when travelling with my pinebook pro I turn the big cores off to drastically improve battery life. However it's up to Apple to expose this functionality, and we all know how much control apple wants you to have of the computers you "license" from them.
- mouldysammich 6y agoWRT the pinebook, i didnt know it could do that. can it be done at runtime or do you have to change it at boot time?
- TkTech 6y agoThey can be onlined or offlined at any time, To offline a core: echo 0 > /sys/devices/system/cpu/cpuN/online To online a core: echo 1 > /sys/devices/system/cpu/cpuN/online Where cpuN is 0-4. Keep in mind there's always one core you cannot disable to process interrupts.
- mouldysammich 6y agoVery cool, thank you.
- dannyw 6y agoThat sounds awesome. Sounds really fun to hack around. I might buy a Pinebook
- heavyset_go 6y agoThe macOS SDK exposes a processor affinity API that you can program against. There isn't an option like taskset on Linux to pin or move tasks among different cores, or like anything that's exposed in Linux's sysfs.