digitalmars.D.bugs - [Issue 4462] New: core.cpuid wrong on Intel machines w/ multiple physical CPUs
- d-bugmail puremagic.com (217/217) Jul 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (14/14) Feb 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (14/34) Feb 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (18/18) Feb 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (16/21) Feb 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (8/8) Feb 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
- d-bugmail puremagic.com (11/11) Aug 12 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4462
http://d.puremagic.com/issues/show_bug.cgi?id=4462 Summary: core.cpuid wrong on Intel machines w/ multiple physical CPUs Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: druntime AssignedTo: sean invisibleduck.org ReportedBy: dsimcha yahoo.com Test Program: import core.cpuid, std.stdio; void main() { writeln("Cores: ", coresPerCPU, " Threads: ", threadsPerCPU); } This prints the following on the machine in question: Cores: 1 Threads: 2 cat /proc/cpuinfo on same machine: processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7321.79 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 4 siblings : 2 core id : 4 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7314.82 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 3 siblings : 2 core id : 3 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.15 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 7 siblings : 2 core id : 7 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.01 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 4 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.01 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 5 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 4 siblings : 2 core id : 4 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.07 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 6 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 3 siblings : 2 core id : 3 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.13 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: processor : 7 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) MP CPU 3.66GHz stepping : 1 cpu MHz : 3657.825 cache size : 1024 KB physical id : 7 siblings : 2 core id : 7 cpu cores : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr bogomips : 7315.03 clflush size : 64 cache_alignment : 128 address sizes : 40 bits physical, 48 bits virtual power management: -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 14 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4462 Russel Winder <russel russel.org.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |russel russel.org.uk PST --- OK this bug has been open for 7 months and no action. Surely this is no an urgent blocking bug. Note also Issue 5612 which shows that the code is broken with 64-bit processors as well as multiple processors. Can cpuid.d be separated out so that we can work on it? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4462 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.auTest Program: import core.cpuid, std.stdio; void main() { writeln("Cores: ", coresPerCPU, " Threads: ", threadsPerCPU); } This prints the following on the machine in question: Cores: 1 Threads: 2 cat /proc/cpuinfo on same machine: processor : 0 cpu cores : 1processor : 1 cpu cores : 1processor : 2 cpu cores : 1That isn't enough information to demonstrate a bug. proc/cpuinfo reports 8 processors, each with one core each. Thus, I would expect coresPerCPU to be 1. Can you please give a valid test case? (Seems as though you'll need to display the number of processors). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4462 To clarify: core.cpuid does NOT provide the number of CPUs in the system. Hence, it does not give the total number of available cores. core.cpuid gives the number of cores in each CPU, and the number of hyperthreads in each core. This means that it has sufficient information to do cache blocking correctly. The total number of physical CPUs is required only when distributing work between cores (you never need to know it when scheduling within a core). Determining this is OS-dependent, and is actually pretty useless unless you also have some way of controlling the processor affinity, as well. Although this is stuff we will definitely need, it's quite a different situation from bugs in the existing code. Are there any cases where the reported values are actually wrong? Or is this a feature request for the number of physical CPUs? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4462 David Simcha <dsimcha yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|core.cpuid wrong on Intel |core.cpuid: Need way to |machines w/ multiple |get total number of |physical CPUs |sockets/physical CPUsTo clarify: core.cpuid does NOT provide the number of CPUs in the system. Hence, it does not give the total number of available cores. ... Are there any cases where the reported values are actually wrong? Or is this a feature request for the number of physical CPUs?This is definitely an enhancement request then. As far as I can tell, the cores per CPU stuff is actually right (I think). It's just that I vaguely remember you stating the opposite at one point, that coresPerCPU actually is a misnomer and gives the total number of cores across all CPUs. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4462 David Simcha <dsimcha yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4462 David Simcha <dsimcha yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED std.parallelism.totalCPUs addresses this. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 12 2011