sosy-lab / cpu-energy-meter

A tool for measuring energy consumption of Intel CPUs
BSD 3-Clause "New" or "Revised" License
321 stars 29 forks source link

Gemini Lake Refresh 2019 supported #26

Closed zli1122 closed 3 years ago

zli1122 commented 4 years ago

Does it support Gemini Lake Refresh (2019)

Because what I found from the code is

define CPU_INTEL_ATOM_GEMINI_LAKE 0x706A0 // Family 6 Model 122 (0x7a)

I am not sure if I can use the software in Gemini Lake Refresh CPU model.

Brief introduction of Gemini Lake Refresh 2019 https://www.intel.com/content/www/us/en/products/docs/processors/pentium/pentium-celeron-desktop-brief.html

Thank you,

PhilippWendler commented 4 years ago

Did you test it? What happens?

I do not have such a CPU available, but I suspect that these CPUs should work just like the previous ones, we only might need to extend the list of supported CPUs in the source.

zli1122 commented 4 years ago

Did you test it? What happens?

I do not have such a CPU available, but I suspect that these CPUs should work just like the previous ones, we only might need to extend the list of supported CPUs in the source.

I don't have such a CPU neither. I was thinking to buy an Odroid H2 board which has Gemini Lake Refresh CPU model. That's why I am looking for a proof that it could be run on the Gemini Lake Refresh one.

PhilippWendler commented 4 years ago

In principle, this should be described in the Intel Software Developer's Manual. Volume 4 describes which MSRs are available on each generation. Can you search for your CPU in this document? I searched for "Gemini" but this term is not found, so one needs to identify the CPU via some other mechanism like family and model ids. Note that the document does not only contain Atom CPUs, but also Core and Xeons, so these must not be confused.

If you find your CPU, search for MSRs named MSR_DRAM_*, MSR_PKG_* etc. and check their description for any specific information. If you can tell me on which page the CPU is listed, I can also double-check the info.

zli1122 commented 4 years ago

In principle, this should be described in the Intel Software Developer's Manual. Volume 4 describes which MSRs are available on each generation. Can you search for your CPU in this document? I searched for "Gemini" but this term is not found, so one needs to identify the CPU via some other mechanism like family and model ids. Note that the document does not only contain Atom CPUs, but also Core and Xeons, so these must not be confused.

If you find your CPU, search for MSRs named MSR_DRAM_*, MSR_PKG_* etc. and check their description for any specific information. If you can tell me on which page the CPU is listed, I can also double-check the info.

I think the board (Odroid HC2+ x86 https://wiki.odroid.com/odroid-h2/start#tab__h2_j4115) I am looking at now is Goldmont Plus (https://en.wikipedia.org/wiki/Goldmont_Plus#:~:text=Goldmont%20Plus%20is%20a%20microarchitecture,platform%20on%20November%204%2C%202019.). It is on page 2-114. Table 2-13. But I am not sure how to check the specific CPU. The CPU in that board is J4115.

PhilippWendler commented 4 years ago

The CPUs for which Table 2-13 is relevant (which starts on page 2-119 for me) indeed should support RAPL, because Table 2-13 includes Table 2-12 in its last line, and Table 2-12 mentions the RAPL registers on page 2-110.

Note that Table 2-13 is for family 6 model 0x7a, which is the same as the definition of CPU_INTEL_ATOM_GEMINI_LAKE that you quoted. According to Wikipedia, both Gemini Lake and Gemini Lake Refresh are part of Goldmont Plus, so this would fit. And anyway, both the predecessor generation Goldmont and the successor generation Tremont also should support RAPL (cf. Table 2-12 and Table 2-14, respectively).

I cannot find any CPU named J4115, though, neither on Wikipedia nor on the Intel CPU database.

zli1122 commented 4 years ago

The CPUs for which Table 2-13 is relevant (which starts on page 2-119 for me) indeed should support RAPL, because Table 2-13 includes Table 2-12 in its last line, and Table 2-12 mentions the RAPL registers on page 2-110.

Note that Table 2-13 is for family 6 model 0x7a, which is the same as the definition of CPU_INTEL_ATOM_GEMINI_LAKE that you quoted. According to Wikipedia, both Gemini Lake and Gemini Lake Refresh are part of Goldmont Plus, so this would fit. And anyway, both the predecessor generation Goldmont and the successor generation Tremont also should support RAPL (cf. Table 2-12 and Table 2-14, respectively).

I cannot find any CPU named J4115, though, neither on Wikipedia nor on the Intel CPU database.

Thank you very much for your help. Appreciate it.