Learning CUDA on cheap
- The Hardware
- 4x Nvidia NVS 310 512MB - 10,56 USD
- Intel Core i3 3220T - 11,76 USD
- Random Fujitsu motherboard - 7,20 USD
- 2x2GB Corsair XMS3 RAM - 12 USD
- 250W "Emacs" PSU - 4,80 USD
- PCIe x1 splitter - 11,76 USD
- 6x PCIe x1-USB adapters - 9,60 USD
Grand total: 67,68 USD
- The software
- Linux - Ubuntu 18.04 Server + Mate installation
- Driver - nvidia 390.132
- CUDA - CUDA 8.0
- Learning materials
- Things learned
- CUDA Toolkit is not fully backward compatible
- 4 PCIe x1 lanes does not mean that it will work with 4 GPUs (tested on 775 platform, don't do that)
- PC gives image only on GPU that is in slot 1 of PCIe x1 splitter
- CUDA blocks are only allowed a small chunk of overall GPU memory (check cudaDeviceGetAttribute->cudaDevAttrMaxSharedMemoryPerBlock)
- Linux mmap() has problems with big files, but working with standard open() and read() works fine (tested on 32GB file)
- If you want to build cheap CUDA rig for learning, look for Quardo 410. It supports SM 3.0 on CUDA 10