Hello,
I'm attempting to install on CENTOS 6 2.6.32-358.11.1.el6.x86_64 Linux. It had CPU throttling on, but now does not.
grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
model name : Intel(R) Xeon(R) CPU X5460 @ 3.16GHz
cpu MHz : 3166.000
It has 8 3.16Ghz Xeon Processors.
The configure line I'm attempting is:
../configure --prefix=/u5/tools --with-netlib-lapack-tarfile=/u5/src/lapack-3.4.2.tgz --shared -D c -DPentiumCPS=3166 -b 64 -Fa alg '-fPIC' -v 10
The final message I get is:
OS configured as Linux (1)
Assembly configured as GAS_x8664 (2)
Vector ISA Extension configured as SSE3 (6,448)
Architecture configured as Core2 (25)
Clock rate configured as 3166Mhz
Maximum number of threads configured as 8
Parallel make command configured as '$(MAKE) -j 8'
cmnd=make IRun_arch args="-v 10 -O 1 -s 2 -t" | fgrep 'CPU THROTTLE='
CPU Throttling apparently enabled!
It appears you have cpu throttling enabled, which makes timings
unreliable and an ATLAS install nonsensical. Aborting.
See ATLAS/INSTALL.txt for further information
xconfig exited with 1
Not sure if this is a problem with detection of the Architecture or the information I've supplied to PentiumCPS or if there is some additional sort of cpu throttling being detected that needs to be fixed.
Thanks for your help.
It looks to me like the architecture is not being detected properly.
You might try adding "-A 14" to the configure line to force the architecture to X86SSE3, and see if that helps. That doesn't fix the detection bug, but it might get your install going.... Let me know if it works.
Your setting of PentiumCPS should not affect the throttling detection. For architectures, if you are using the newest developer release, I think your chip would actually be -A 25, but that will also not help you with throttling.
How did you turn throttling off, using the BIOS or the OS?
Sometimes when ATLAS detects throttling where there isn't one, its because the OS thinks the chip Mhz is greater than it actually is. Somewhere in /sys/devices/system/cpu/*cpufreq, I think, there's a file that sets the max Mhz, and if that is higher than your chip actually goes, it can screw things up. I can't check the actual file, since I turn all this stuff off in the BIOS, so it does not appear on my linux machines . . .
Let us know,
Clint
Hi there! I don't have root access to this machine, so I sent the following link to the IT administrator. I'm presuming he did this via the OS because he didn't reboot the machine.
http://www.servernoobs.com/avoiding-cpu-speed-scaling-in-modern-linux-distributions-running-cpu-at-full-speed-tips/
He responded:
"I've reconfigured it to have the cpufreq service not start at boot, but even if it somehow gets turned back on, it will use the performance governor, which is a full blast all the time policy and essentially the same as not having the cpuspeed service running at all."
I don't have access to read the cpuinfo_cur_freq but the other files in that directory say:
affected_cpus: 0
cpuinfo_max_freq: 3166000
cpuinfo_min_freq: 2003000
cpuinfo_transition_latency: 10000
related_cpus: 0 2 4 6
scaling_available_frequencies: 3166000 2670000 2336000 2003000
scaling_available_governors: userspace performance
scaling_cur_freq: 3166000
scaling_driver: acpi-cpufreq
scaling_governor: userspace
scaling_max_freq: 3166000
scaling_min_freq: 2003000
scaling_setspeed: 3166000
These are the same for all cpus except for the odd ones say related_cpus: 1 3 5 7.
Using either -A 14 or -A 25 did not progress past this.
Thanks for your help.
With this explanation, I don't understand why ATLAS is saying throttling is on, so I suspect we are missing something. However, to try to get something going you can disable the throttle test by putting `return(0);' as the first line of ProbeCPUThrottle ATLAS/CONFIG/src/config.c. Note that if your platform really is throttling, you'll get a randomly transformed library rather than an optimized one.
Let me know,
Clint
No response, assuming fixed.