Blame
|
1 | --- |
||||||
| 2 | category: reference |
|||||||
| 3 | tags: [infrastructure, proxmox, vps] |
|||||||
| 4 | last_updated: 2026-03-15 |
|||||||
| 5 | confidence: high |
|||||||
| 6 | --- |
|||||||
| 7 | ||||||||
| 8 | # Proxmox CPU Type Issue |
|||||||
| 9 | ||||||||
| 10 | ## Problem |
|||||||
| 11 | ||||||||
| 12 | The robot.wtf VM uses the default `kvm64` CPU type in Proxmox, which doesn't expose SSE4.1, SSE4.2, or POPCNT flags. numpy 2.4+ requires these (X86_V2 baseline) and refuses to import. |
|||||||
| 13 | ||||||||
| 14 | ## Current workaround |
|||||||
| 15 | ||||||||
| 16 | `numpy<2.4.0` pinned in `requirements.txt`. This works but freezes numpy on an older version. |
|||||||
| 17 | ||||||||
| 18 | ## Proper fix |
|||||||
| 19 | ||||||||
| 20 | Change the Proxmox VM CPU type from `kvm64` to `host`. This passes through the physical host's CPU features to the guest. Requires a VM reboot. |
|||||||
| 21 | ||||||||
| 22 | **Tradeoff:** CPU type `host` breaks Proxmox live migration between hosts with different CPUs. If this VM doesn't need live migration (it doesn't currently), `host` is the better choice. |
|||||||
| 23 | ||||||||
| 24 | **To apply:** In Proxmox UI -> VM -> Hardware -> Processor -> Type -> `host`. Or edit `/etc/pve/qemu-server/{vmid}.conf` and set `cpu: host`. Then reboot the VM. |
|||||||
| 25 | ||||||||
| 26 | After changing, the numpy pin can be removed from `requirements.txt`. |
|||||||