Navigation

BIOS/UEFI Optimization

Optimize BIOS settings for deep learning workstations. Configure PCIe lanes, enable Resizable BAR, set power limits, and tune BIOS for maximum GPU performance and stability.

Why BIOS Settings Matter

Your BIOS/UEFI firmware controls fundamental hardware behavior. Incorrect settings can:

  • Reduce GPU performance by 10-20%
  • Cause system instability during long training runs
  • Prevent GPUs from being detected
  • Limit PCIe bandwidth

Time investment: 15-20 minutes Performance gain: Up to 20% in some cases

Accessing BIOS/UEFI

On boot, press the designated key repeatedly:

  • Most systems: Delete or F2
  • ASUS: Delete or F2
  • MSI: Delete
  • Gigabyte: Delete
  • ASRock: Delete or F2
  • Dell/HP workstations: F2 or F10

:::tip If you miss it, just restart and try again. Some systems show “Press [KEY] to enter setup” during boot. :::

Essential Settings for ML Workloads

1. PCIe Configuration

Why it matters: GPUs need maximum PCIe bandwidth for optimal performance.

Navigation: Advanced → PCIe/PCI Configuration

Settings:

PCIe Speed: Gen 4 (or highest available)
Above 4G Decoding: Enabled
Re-Size BAR Support: Enabled (if available)

Location: Usually under “Advanced” → “PCI Subsystem Settings”

Navigation: Settings → Advanced → Integrated Peripherals

Settings:

PCI Express Root Port: Gen 4
Above 4G Memory/Crypto Currency Mining: Enabled
Re-Size BAR Support: Auto or Enabled

Navigation: Tweaker → Advanced CPU Settings

Settings:

PCIe Speed: Gen 4.0
Above 4G Decoding: Enabled
Resizable BAR Support: Enabled

2. Power Management

Goal: Prevent power-saving features from throttling during training.

Settings to change:

Power State: High Performance
C-States: Disabled
CPU Enhanced Halt (C1E): Disabled
Intel SpeedStep / AMD Cool'n'Quiet: Disabled

Why disable power saving?

  • Prevents CPU throttling during training
  • Ensures consistent performance
  • Eliminates wake-up latency

:::caution This increases idle power consumption by 20-50W. If power costs are a concern, you can re-enable these features and use OS-level power management instead. :::

3. Multi-GPU Systems

If you have 2+ GPUs, these settings are critical:

IOMMU / VT-d: Enabled (for PCIe passthrough capabilities)
Bifurcation: Check manual for your board
PCIe Link Speed: Gen 4 (Gen 3 minimum)

PCIe Lane Distribution: For optimal multi-GPU:

  • 2 GPUs: x16/x16 or x16/x8
  • 3 GPUs: x16/x8/x8
  • 4 GPUs: x8/x8/x8/x8

:::tip[Check your motherboard manual] Not all boards support x16/x16. Some switch to x8/x8 with 2 GPUs, which is fine - modern GPUs rarely saturate x8 Gen4. :::

4. Memory Configuration (XMP/DOCP)

Enable XMP/DOCP profile:

Memory Profile: XMP / D.O.C.P / A-XMP

What this does:

  • Runs RAM at rated speed (3200MHz, 3600MHz, etc.)
  • Without this, RAM runs at base JEDEC speed (2133MHz)
  • Significantly improves data loading performance

5. Virtualization

Enable if using Docker or VMs:

Intel VT-x: Enabled
Intel VT-d: Enabled

Location: Advanced → CPU Configuration

SVM Mode: Enabled
IOMMU: Enabled

Location: Advanced → CPU Configuration

Why enable this?

  • Required for Docker containers (common in ML workflows)
  • Needed for running VMs
  • Better PCIe device management

6. Boot Options

Optimize boot time:

Fast Boot: Enabled
Boot Logo Display: Disabled
Bootup NumLock State: On (preference)
Full Screen Logo: Disabled

7. Security Settings

For easier development:

Secure Boot: Disabled

Why?

  • Some Linux distros and CUDA drivers conflict with Secure Boot
  • Can re-enable later if needed

Settings to Leave as Default

Don’t change these unless you know what you’re doing:

  • CPU Core Voltage (unless overclocking)
  • DRAM Voltage (XMP handles this)
  • Fan curves (configure in OS instead)
  • Boot priority (set after OS install)

BIOS Settings Checklist

Print or save this checklist:

  • PCIe Speed set to Gen 4 (or highest)
  • Above 4G Decoding: Enabled
  • Re-Size BAR: Enabled
  • Power Management: High Performance
  • C-States: Disabled
  • XMP/DOCP Profile: Enabled
  • Virtualization (VT-x/SVM): Enabled
  • VT-d/IOMMU: Enabled
  • Secure Boot: Disabled
  • Fast Boot: Enabled
  • Settings saved and system rebooted

Verification After Boot

Once in your OS, verify settings took effect:

# Check PCIe generation
lspci -vv | grep -i "lnkcap\|lnksta"

# Should show "Speed 16GT/s" for Gen 4

# Check if all GPUs detected
nvidia-smi

# Verify XMP/DOCP worked
sudo dmidecode -t memory | grep Speed

Troubleshooting

GPU Not Detected

  1. Re-seat the GPU physically
  2. Try a different PCIe slot
  3. Update BIOS to latest version
  4. Check if Above 4G Decoding is enabled

System Won’t Boot After Changes

  1. Clear CMOS (consult motherboard manual)
  2. Remove one setting at a time
  3. Likely culprit: XMP profile incompatibility

Lower Than Expected PCIe Speed

  1. Check GPU is in primary x16 slot
  2. Verify PCIe generation in BIOS
  3. Some boards drop to Gen 3 with multi-GPU

Manufacturer-Specific Guides

ASUS Boards

  • Press F7 for Advanced Mode
  • Look under “Advanced” and “AI Tweaker” tabs

MSI Boards

  • Press F7 for detailed view
  • Settings → Advanced tab

Gigabyte Boards

  • Press Ctrl+F1 for advanced options (on some models)
  • Check “Tweaker” and “Peripherals” tabs

ASRock Boards

  • Advanced mode enabled by default
  • Check “OC Tweaker” for performance settings

Next Steps

After optimizing BIOS:

  1. Save settings and exit (F10 usually)
  2. Proceed to OS Installation
  3. Later: Monitor system health

:::tip[Document your settings] Take photos of your BIOS settings. If you need to reset CMOS, you’ll want this reference. :::