Requiring a bit more power than my dear Lenovo E595 ThinkPad provides, I set out to assemble a workstation, targeted at programming and (small-scale) ML, excluding gaming. This was an interesting experience, as my last build dates to more than 10 years ago…
Components
Component | Model |
---|---|
Case | be quiet! Pure Base 500DX |
Motherboard | MSI MAG B650 TOMAHAWK WIFI |
CPU | AMD Ryzen 9 7900 |
Graphic Card | MSI GeForce RTX 3060 Ventus 2X 12 GB |
PSU | be quiet! Pure Power 12 M (850 W) |
Storage | 2TB M.2 2280 SSD |
RAM | 32 GB of 6000 MHz DDR5 |
- According to reviews, the Ryzen 9 7900 has better thermals than the 7900X and can be overclocked to the same performance. The 7950 is significantly more expensive. The 7900 also comes with a stock cooler.
- The GeForce RTX 3060 GPU, with its 12 GB of VRAM, seemed like a reasonable performance/price trade-off, compared to the much more expensive 4070 series. For people more serious about training models, the 3090 seems often recommended, with its 24 GB of VRAM.
The total price is naturally significantly lower than an equivalent laptop, portability aside.
Cost breakdown.
At the time of the build, Lenovo had a 25% offer on its Legion T5 Gen8 gaming towers. With the rebate, the price was pretty competitive, except that the configuration was only available with expensive 4XXX cards (and with a 6+ week shipping date for the middle model). The 100 CHF deduction for not requiring Windows is appreciable.
Assembly
- The manual of the motherboard is pretty useful.
- It looks like every second component comes with LEDs nowadays.
- Many internal panels in the case can be removed (with screws that are sometimes a bit hidden), which is necessary for cabling.
- The CPU power cables are fairly short, and had to be routed in front of the motherboard and the GPU. Passing above the motherboard seems impossible. An alternative could have been to go in the small space on the left of the GPU, between it and the GPU, assuming the cable fits.
- The GPU, M.2 SSD and CPU cooler end up very close to each other; the GPU should be installed last.
- The USB 3.2 Gen 2 Type-C from the case does not properly stay plugged into the motherboard.
Inside the case, the work of clearly-not-a-routing-artist.
Boot
- Nothing happened for 10-15 minutes during the first boot (no video output), with the EZ debug yellow and red LEDs up, which likely was DDR5 memory training.
- The BIOS can be updated with files on an USB key, downloaded from MSI’s website.
- I originally thought that the Bluetooth chip — classic — did not play well with Linux, as the sound kept dropping, but this was simply due to the missing antennas, which are used for WiFi and Bluetooth.
- The RAM speed had to be adjusted upwards in the BIOS.
- The case RGB lights can be controlled with OpenRGB. They are powered via one of the
DRIVES
12V outputs on the PSU. - The stock CPU cooler is reasonably noisy.
Installation
- After disabling SecureBoot, an installation of Manjaro (with encrypted root but unencrypted boot) was quickly completed.
- The
mhwd
utility allowed to painlessly install the correct NVIDIA drivers. However, there was at first no video output on the GPU, which was solved by disabling Hybrid and Integrated graphics in the BIOS. - All the components seems perfectly supported. S3 sleep works. I have not (yet) configured hibernation.
- Under low load, the GPU sits under 50°C (and then fans even stop at some point), consuming about 15 W, according to
nvidia-smi
. Similarly, the CPUTSI
indicates a temperature around 55°C under low load. - Enabling “Memory Context Restore” in the BIOS reduces firmware boot time from 40 seconds to 15 seconds:
Startup finished in 15.743s (firmware) + 5.852s (loader) + 9.992s (kernel) + 3.606s (userspace) = 35.194s