This is a consolidation of what I've learnt about building a new computer in July 2022. Nothing fancy, just a helpful reminder of what steps to consider. Some resources are linked to explore.
There are two parts to building a new computer: selecting what to buy, and eventually assembling them. Assembly is the easy part - selecting what to buy may not.
There are many guides out there talking about choosing components, offering pre-build solutions, dispelling myths about building your own PC, etc. Some of these resources I found helpful are linked below.
GPU | CPU | MOBO | RAM | HDD | SSD | PSU | Fan | Case | |
---|---|---|---|---|---|---|---|---|---|
Logical Increments | 41% | 18% | 12% | 3% | 3% | 6% | 5% | 3% | 9% |
Current build | 24% | 21% | 14% | 16% | 0% | 8% | 8% | 5% | 4% |
A plausible decision flow might follow the lines of this.
First consider if you need any of the following:
On form factors - here is a rough comparison between common case sizes by CG Director:
An entire listing of different form factors on Wikipedia.
A short note on mini-ITX, and why it might not be worth the time:
Two key options guiding the form factor to use:
Back to the main topic...
The CPU and motherboard tends to go hand-in-hand because the CPU socket tends to change, e.g. for any of the Intel Alder Lake series (12th gen) CPUs, the available chipsets for it are:
Motherboards are built around these chipsets, with varying levels of feature support and available footprints.
Tip
Choose CPU based on the following requirements:
Available choices for Intel CPUs include the range from Pentium, i3, i5, i7, i9, -U/-M series, -Xe series, etc. Then shop for motherboard, perhaps using PC Part Picker (note that the CPU should be selected first to check for compatibility):
The rest is really a mix-and-match. See the following description of each component in the subsequent sections. Then finally decide miscellaneous stuff like airflow management / fan placement (note this is more critical when working with smaller builds with limited airflow):
Clock rate:
Nothing much here - main part described above.
Diagram shows CPU retrieving data via a single memory channel, where data is internally stored in bank group 0, rank 1, of RAM card 2.
This Reddit post is a nice overview of the topics below, consider reading.
DIMM:
Channel:
Rank:
Bank groups:
CAS latency (CL):
Clock rate:
CPU memory types | Chipset max memory clock | RAM clock | Intel XMP enabled | Effective clock |
---|---|---|---|---|
2400 MHz | 3200 MHz | 2400 MHz | No | 2400 MHz |
Yes | 3200 MHz | |||
2400 MHz | 2000 MHz | 3200 MHz | - | 2000 MHz |
2000 MHz | 2400 MHz | 3200 MHz | No | 2000 MHz |
Yes | 2400 MHz |
First-word latency:
Error-correcting codes (ECC):
Shamelessly copied from TomsHardware.
Nvidia GPUs | AMD GPUs | Class | Recommended use |
---|---|---|---|
GT 1030 | RX 550 | Cheap | No gaming, w/o integrated graphics |
GTX 1050 (Ti) GTX 1060 GTX 1650 (Super) | RX 560-590 RX 5500 XT RX 6400-6500 | Budget | 1080p, low/med settings |
GTX 1070 (Ti) GTX 1660 (Super/Ti) RTX 2060 RTX 3050 | RX Vega 56 RX 5600 XT RX 5700 RX 6600 (XT) | Mid-range | 1080p, VR-compatible |
GTX 1080 (Ti) RTX 2060 Super RTX 2070 (Super) RTX 2080 (Super/Ti) RTX 3060 (Ti) RTX 3070 (Ti) | RX Vega 64 Radeon VII RX 5700 XT RX 6800 | High-end | 1440p, high-refresh 1080p, VR |
Titan Xp Titan V Titan RTX RTX 3080 (Ti) RTX 3090 (Ti) | RX 6800 XT RX 6900 XT | Extreme | 4K, great ray-tracing, AI |
Another great table on bandwidth requirements for displays, as defined by VESA: Resolution vs refresh rate + color-depth -> Required data bandwidth
1080p | 1440p | 2160p | |
---|---|---|---|
60 Hz, 8-bit | 3.20 Gbps | 5.63 Gbps | 12.54 Gbps |
60 Hz, 10-bit | 4.00 Gbps | 7.04 Gbps | 15.68 Gbps |
144 Hz, 8-bit | 8.00 Gbps | 14.08 Gbps | 31.35 Gbps |
144 Hz, 10-bit | 10.00 Gbps | 17.60 Gbps | 39.19 Gbps |
Notably, DisplayPort 1.4 and HDMI 2.1 support Display Stream Compression 1.2a (DSC), which provides up to 3:1 compression ratio. Note that 8-bit color depth means 24-bit color (8-bit each RGB). Pretty much just get whatever is convenient, e.g. HDMI.
Need to look out for form factors compatible with motherboard / case.
Supplementary power connectors are typically required to supply more power than available through PCIe x16 slot (75W). Extensions seem to be for PCIe and/or PSU.
Graphics card memory (VRAM):
Video ports:
Clock speed:
CUDA Cores / Stream Processors:
FLOPS:
Memory speed/bandwidth:
None at the moment, but consider reading these articles:
Distinguish between transfer rate (raw transfer speed) and throughput (actual data rate after encoding, e.g. for 8b/10b encoding, overhead is 20%, so throughput is 80% of transfer rate).
This only a summary - in reality, PCIe/SATA/SAS are specifications for multiple layers, including the physical, link, transport, etc. Read this diagram with a pinch of salt and treat it more like a starting point
Serial buses are preferred over parallel buses due to inherent problems with the latter, most importantly the timing skew (different signal arrival times due to differences in paths/velocities) on order of nanoseconds requires a longer interface clock period, limiting it to sub-GHz performance. On the other hand, serial connections only has a single differential signal in each direction per data lane (reducing timing skew), and the point-to-point serial links between device host and other devices allows for full duplex communication without need for arbitration by the host (needed in parallel configuration since all devices share common set of data and address lines).
Note that you can compare the speed of a storage interface (order of ~1 Gbps) relative to the bus speeds (order of ~50 Gbps), so typically it won't be a huge constraint.
None, but consider reading these articles:
Good as a rough overview of what specifications to consider, but this isn't actually updated. See the list of components purchased updated on PC Part Picker.
Component | Target | Remarks | ||
---|---|---|---|---|
Motherboard | ||||
Chipset | ||||
Product family | - | |||
Bus speed | - | Not sure what this affects | ||
Overclocking support | - | |||
DIMMs per channel | 1 / 2 | Depends on CPU memory channels | ||
PCIe support | 4.0/5.0 | Sync with CPU | ||
PCIe lanes | ≥ 16 | Sync with CPU | ||
USB ports | ≥ 3 USB 3.0 | |||
SATA ports | - | |||
Peripherals | ||||
Audio card/ports | - | Depends | ||
Form factor | Micro-ATX | Mini-ITX if possible, but chances are, more powerful specs cannot fit into small form factor. To see. | ||
DIMM channels | 2 / 4 | Whichever supported by motherboard and/or cheaper | ||
PCIe slots | ||||
SATA ports | ||||
M.2 ports | ||||
SLI/Crossfire | - | Support for multi-GPU setups, typically not necessary nor cost-effective | ||
Wireless card | - | Not necessary | ||
Ethernet | 10GbE | Maximize connection to NAS | ||
PCIe lanes | ||||
RAM | ||||
Type | DDR4 | Clock speed as high as supported by CPU/chipset | ||
Capacity | ≥ 64GB | Needs to support virtualization and heavy workloads | ||
Registers | No | |||
CPU | ||||
CPU | ||||
Product family | 12th gen Intel | For power efficiency. Later generations typically better | ||
Total cores | ≥ 8 cores | For parallel performance | ||
Base frequency | - | As high as possible | ||
Cache | - | As much as possible | ||
Instruction set | 64-bit | |||
TPM | 2.0 | Recommended | ||
Memory | ||||
Max size | ≥ 128GB | For extensibility | ||
Type | DDR4/5 support | For extensibility | ||
Max channels | 2 / 4 | |||
Max bandwidth | - | As much as possible | ||
ECC support | - | |||
Graphics | ||||
Integrated | - | Might be handy if GPU fails | ||
Expansion | ||||
PCIe support | 4.0/5.0 | |||
Max lanes | ≥ 16 | Discrete GPUs require 16 lanes. Not sure for others | ||
GPU | GPUs tend to have PCIe x16 interface. | |||
Storage | ||||
HDD | None | Outsource this to local NAS | ||
HDD speed | - | |||
SSD | ≥ 2TB | Preferably two separate cards if cheaper | ||
SSD speed | NVMe, - IOPS | Check if limited | ||
RAID | None | Minimize heavy-writes inherent in fault-tolerant RAID levels by eliminating redundancy. |