sayuri: Update documentation
This commit is contained in:
parent
98cd9fee9c
commit
8ab36d11bf
|
@ -4,17 +4,92 @@
|
|||
|
||||
HP Z440 workstation.
|
||||
|
||||
* [Intel Xeon E5-1620 v4](https://ark.intel.com/content/www/us/en/ark/products/92991/intel-xeon-processor-e5-1620-v4-10m-cache-3-50-ghz.html)
|
||||
* 16 GiB DDR4 2400 MHz ECC memory
|
||||
* [Intel Xeon E5-2683 v4](https://ark.intel.com/content/www/us/en/ark/products/91766/intel-xeon-processor-e52683-v4-40m-cache-2-10-ghz.html)
|
||||
* 4×4 GiB DDR4 2400 MHz ECC memory
|
||||
* 250GB Samsung 970 Evo Pro NVMe SSD
|
||||
* 256GB micron SSD
|
||||
* 256GB micron MTFDDAK256TBN-1AR15ABHA SATA SSD
|
||||
* 2TB Toshiba HDWA120 HDD
|
||||
* Sapphire Nitro+ Radeon RX 480
|
||||
* Sapphire Nitro+ Radeon RX 480 (8 GiB VRAM)
|
||||
|
||||
### Mods
|
||||
|
||||
#### Fan
|
||||
|
||||
The original fans are really loud if you run them at a higher speed.
|
||||
What fans are used depend on the exact model of the Z440,
|
||||
mine had a Delta QUR0912VH as rear case fan,
|
||||
a Delta AFB0912VH as front fan
|
||||
and a Foxconn PVA092G12S as CPU fan.
|
||||
Since the firmware only allows dynamic fan control via Intel QST,
|
||||
which is not supported in the kernel,
|
||||
the “minimum fan speed” set in the firmware configuration is always used.
|
||||
I replaced all three fans (rear case fan, front “PCIe” fan, CPU fan) with aftermarket products.
|
||||
For the rear case fan and CPU fan I used Noctua NF-A9 PWM fans,
|
||||
for the front fan an Arctic F9 PWM (for the sole reason that it is cheaper).
|
||||
Since HP decided to use different connectors for all of the fans
|
||||
(with the CPU fan connector having a proprietary 6-pin connector),
|
||||
I had to get creative with plugging them in.
|
||||
One alternative suggested by Michael Stapelberg in [his article on fan replacement in a HP Z440](https://michael.stapelberg.ch/posts/2021-08-28-silent-hp-z440-workstation/)
|
||||
is to remove the guard rails of the fans.
|
||||
Since this is destructive and I might want to sell the fans again if I don’t use them anymore,
|
||||
I decided against this
|
||||
and instead opted for connecting them manually with cheap jumper cables.
|
||||
This certainly is not the prettiest solution, but it works.
|
||||
As for the CPU fan,
|
||||
the fifth and sixth wire are actually not needed
|
||||
and a 4-pin PWM fan can be plugged into the connector (with jumpers).
|
||||
|
||||
#### CPU
|
||||
|
||||
The original CPU that came in my model was an Intel Xeon E5-1620 v4 CPU
|
||||
with 4 cores (8 threads),
|
||||
a base clock speed of 3.5 GHz
|
||||
and a boost clock speed of 3.8 GHz.
|
||||
To achieve better multicore performance,
|
||||
I upgraded it to an Intel Xeon E5-2683 v4, which can be found used for semi-cheap on AliExpress.
|
||||
It has 16 cores (32 threads),
|
||||
a base clock speed of 2.1 GHz
|
||||
and a boost clock speed of 3 GHz.
|
||||
While the CPU worked out-of-the box with the 2020 firmware revision I had on it,
|
||||
it did not offer frequency control in linux (and therefore stayed at its base clock).
|
||||
Upgrading to the newest firmware did not fix this issue.
|
||||
A workaround is to enable CPU HWPM in the firmware,
|
||||
which strips the kernel from frequency control and instead hands it to the firmware,
|
||||
which at least allows the CPU to reach 2.7 GHz
|
||||
Since this setting makes it impossible to determine the CPU clock via `cpupower frequency-info`,
|
||||
they have to be obtained by running `grep -E '^cpu MHz' /proc/cpuinfo` (one line for every thread).
|
||||
|
||||
However, all CPUs compatible with the socket of this system (2011-3) share the same problem:
|
||||
They suffer from many security vulnerabilities,
|
||||
the mitigation of which slows them down massively.
|
||||
A possible workaround is to disable mitigations (https://make-linux-fast-again.com/),
|
||||
which, however, makes the CPU vulnerable to all those attacks again!
|
||||
This is implemented by the `yolo` specialisation,
|
||||
which can be selected at boot.
|
||||
|
||||
The result of this is that,
|
||||
while it has double the cores and is a desktop/server CPU,
|
||||
it still is around 15 % slower (!) than my laptop’s Ryzen 7 5850U in multithreaded synthetic workloads.
|
||||
It looks even worse in single-threaded workloads,
|
||||
in which my laptop is five times as fast.
|
||||
|
||||
#### Memory
|
||||
|
||||
I have not yet upgraded the memory for cost reasons.
|
||||
It still is the original 4 sticks of Hynix HMA451R7AFR8N-UH (4 GiB DDR4 2400 MHz ECC).
|
||||
An upgrade is necessary due to many processes’ memory usage scaling linearily with CPU cores,
|
||||
the prime example being compiling with `make -j32` et al.
|
||||
|
||||
#### Conclusion
|
||||
|
||||
Is it worth it?
|
||||
Probably not, especially as a desktop machine.
|
||||
It might come in handy at a later time as a server.
|
||||
|
||||
## Purpose
|
||||
|
||||
Tasks that benefit from parallel computing, require a decent amount of GPU
|
||||
power or possibly even both.
|
||||
Tasks that require a decent amount of GPU power
|
||||
and/or have to run while I do other things (on my laptop).
|
||||
|
||||
## Name
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
user = "sbruder";
|
||||
};
|
||||
};
|
||||
intel-sucks.configuration = {
|
||||
yolo.configuration = {
|
||||
# https://make-linux-fast-again.com/
|
||||
boot.kernelParams = [
|
||||
"l1tf=off"
|
||||
|
|
Loading…
Reference in a new issue