592 Commits
Author SHA1 Message Date
Dr-Noob 51dd89b005 WIP 2024-09-17 08:52:01 +01:00
Dr-Noob ef1bfa5cc9 WIP 2024-09-17 08:49:51 +01:00
Dr-Noob 2e2e660b97 [v1.06][ARM] Add more NVIDIA SoCs 2024-09-12 08:08:53 +01:00
Dr-Noob fbd50822cf [v1.06][ARM] Add more Marvell SoCs 2024-09-12 07:51:12 +01:00
Dr-Noob bc8a779de6 [v1.06][ARM] Add more Amlogic SoCs 2024-09-11 18:38:56 +01:00
Dr-Noob 995ebc6736 [v1.06][RISCV] Add zicbop multi-letter extension (fixes #285) 2024-09-11 07:58:12 +01:00
Dr-Noob ab43a11ef2 [v1.06][X86] Fix accurate-pp in hybrid architectures (fixes #169)
Overview of changes:
- Adds field max_pp in frequency struct to hold the max freq for peak-performance estimation.
- Instead of getting the max frequency in get_peak_performance, we get it in get_cpu_info (more natural).
- Adds fill_frequency_info_pp which fills the max_pp of the passed cpu by calling measure_frequency.

The approach is to call measure_frequency with a vector where the max frequencies are stored. Then,
the first time measure_frequency is called, the frequency is measured while running all the cores,
and the max frequency is computed per module (e.g., in the case of 2 modules, we would compute
the freq for the first and for the second module), and saved into this vector. Subsequent calls to
measure_frequency will just read the corresponding value for the vector. In other words, the frequency
is only measured once for the whole CPU.
2024-09-10 22:43:23 +01:00
Wunk edbfc9722e [v1.06][ARM] Add Windows on Arm support (#273) 2024-09-10 09:40:46 +02:00
Dr-Noob 57bbe2de4f [v1.06][X86] Add Sapphire Rapids uarch (#281) 2024-09-10 08:32:18 +01:00
Dr-Noob 278efb75c9 [v1.06][ARM] Add support for Marvell SoC (#279) 2024-09-10 07:41:11 +01:00
Dr-Noob 343150e516 [v1.06][ARM] Add Tegra Orin (#275) 2024-09-09 08:19:18 +01:00
Dr-Noob 1e2c7e565c [v1.06][ARM] Add SC8280XP (on device tree) (#272) 2024-09-09 07:11:57 +01:00
Dr-Noob 977c35a9af [v1.06][X86] Add Zen5 uarch 2024-09-05 20:14:52 +01:00
Dr-Noob eb8fad2843 [v1.06][ARM] Simplify is_ARMv8_or_newer 2024-09-02 08:27:58 +01:00
Dr-Noob bd38951439 [v1.06][ARM] Update get_vpus_width to match SVE detection 2024-09-02 08:26:58 +01:00
Dr-Noob 057a36efd5 [v1.06][ARM] Add new microarchitectures 2024-09-02 08:20:40 +01:00
Dr-Noob 56901d70ab [v1.06][ARM] Add more NXP SoCs 2024-08-31 18:40:35 +01:00
Dr-Noob 5bd507e4b6 [v1.06][ARM] Add support for Amlogic A311D (#268) 2024-08-31 09:37:50 +01:00
Dr-Noob 9192ba3eb8 [v1.06][ARM] Add (another) cpufamily for M3 and set the ARM version, fixing peak performance wrong result (#230) 2024-08-29 08:13:05 +01:00
Dr-Noob 807a13d29e [v1.06] Fix manpage file extension (fixes #269) 2024-08-28 21:33:48 +01:00
Dr-Noob 15a803dae5 [v1.06][ARM] Check if HWCAP2_SVE2 is defined before using it (fixes #270) 2024-08-28 21:26:27 +01:00
Dr-Noob 0507355372 [v1.06][X86] Bugfix: set affinity in --accurate-pp
There are cases where measure_frequency is called after binding the
process to a specific core via bind_to_cpu (e.g., when iterating over
modules in hybrid architectures). Thus, in measure_frequency we must
set the affinity of the newly created threads, ensuring they are
binded to the right core.
2024-08-26 12:31:18 +01:00
Dr-Noob 9f66a137c5 [v1.06][ARM] Add support for NXP i.MX 8M Plus (#261) 2024-08-25 17:44:29 +01:00
Dr-Noob 324d0fbe94 [v1.06][PPC] Add support for Espresso (#231) 2024-08-25 16:50:58 +01:00
Dr-Noob af8bb16302 [v1.06][ARM] Fix for commit 025e28c 2024-08-24 15:44:06 +01:00
Dr-Noob 40374121b8 [v1.06] Replace emalloc+memset with ecalloc when possible. Refactor some memory allocation code 2024-08-24 15:32:33 +01:00
Dr-Noob 025e28c516 [v1.06][ARM] Set Android properties as defines 2024-08-24 14:47:34 +01:00
Dr-Noob 7ad19d113c [v1.06] Remove soc_ prefix from field names in system_on_chip struct 2024-08-24 12:44:24 +01:00
Dr-Noob 13605ed0ce [v1.06][ARM] Remove BCM prefix from Broadcom vendor string 2024-08-24 12:34:57 +01:00
Dr-Noob 7689355a72 [v1.06][ARM] Add support for Apple SoCs in Asahi Linux (#263) 2024-08-23 08:37:13 +01:00
Timothy WarrenandTimothy Warren 321a1ec375 [v1.06][X86] Add old Intel and AMD CPUs (#260)
* Add Intel and AMD 486, Intel Pentium Pro, and AMD K5 chips
* Update infer_cpu_name_from_uarch to support added CPU uarches
* Add sources for more of the legacy chip data
* Add the more specific codename for Intel Pentium MMX Mobile chips
* Document source of AMD 486/K5 variants
* Add link to documentation for Intel 486

---------

Co-authored-by: Timothy Warren <[email protected]>
2024-08-20 09:25:01 +02:00
Dr-Noob 48c598cf3b [v1.06][ARM] Add support for Ampere Altra (#262) 2024-08-19 08:46:07 +01:00
Dr-Noob aa94389bbe [v1.06][ARM] Fix two off-by-one bugs (#264) 2024-08-19 08:39:52 +01:00
Er2 8d10a03adc [v1.06][FreeBSD][Apple] Implement fallback frequency calculation (#251) 2024-08-19 09:21:41 +02:00
Dr-Noob 2410fd16d3 [v1.06] Bump version v1.06 2024-08-18 15:12:27 +01:00
Dr-Noob f63178b41c [v1.05][ARM] Fix compile warning in SVE cntb 2024-08-10 11:23:13 +01:00
Dr-Noob 2788e6831e [v1.05][ARM] Fix SVE cntb datatype 2024-08-10 11:16:22 +01:00
Dr-Noob 146f2a13aa [v1.05][ARM] Show SVE cntb in debug 2024-08-10 11:11:46 +01:00
Dr-Noob 90624b9aaa [v1.05][ARM] Preeliminary support for SVE detection (#259) 2024-08-10 11:08:39 +01:00
Dr-Noob e42f04cca8 [v1.05][ARM] Add support for Kirin 9000S and TSV120 (#259) 2024-08-10 11:03:22 +01:00
Dr-Noob 3aacaf5f9e [v1.05] Add RISC-V picture to README (thanks #241!) 2024-08-03 16:31:56 +01:00
Dr-Noob 50f66ec571 [v1.05][X86] Fix compilation issue in clang and fallback to get_topology_from_udev also in AMD 2024-08-03 15:45:10 +01:00
Dr-Noob cb186a2f97 [v1.05][X86] Do not show empty SSE if not supported (#260) 2024-08-02 10:09:51 +01:00
Dr-Noob 6164884415 [v1.05][ARM] Add latest Snapdragon SoCs (closes #256) 2024-08-02 08:07:47 +01:00
Dr-Noob 260f9ec3b8 [v1.05] Add new contributor to acknowledgements 2024-07-25 08:29:05 +01:00
Dr-Noob 79013d0ec9 [v1.05][X86] Improve robustness in case of old CPUs (verified by #220)
- Use udev to get topo when apic failed or is not available.
- Assume single core in udev when total cores is 1.
- Print core/cores accordingly to the number of cores.
2024-07-25 08:23:56 +01:00
Dr-Noob e4227388b9 [v1.05][ARM] Add new SnapD SoCs and use ro.soc.mode in Android to improve SoC detection (#253) 2024-07-19 08:21:11 +01:00
Dr-Noob 8fca4cb250 [v1.05][X86] Fix frequency fetching from udev and measurement in hybrid architectures 2024-07-11 22:27:42 +01:00
Dr-Noob 7c947bdf64 [v1.05] Use UNKNOWN_DATA instead of -1 in frequency measurement 2024-07-11 22:10:00 +01:00
Dr-Noob 1ed3a0f2bf [v1.05] Adapt frequency measurement iterations depending on CPU speed
This is achieved by running a first measurement which gets a taste of
CPU speed, then estimate a reasonable value for the iterations of the
real measurement and then running the actual measurement. This is very
helpful to reduce the runtime of the measurement, especially for slow
CPUs
2024-07-11 21:55:01 +01:00