Jika saya membuat komputer, barang apa yang harus saya pedulikan?
Dari sudut pandang praktis Anda mungkin harus membayar sedikit perhatian pada motherboard dan CPU mengingat relatif sulitnya peningkatan dibandingkan dengan GPU. Setelah pembelian adalah waktu yang buruk untuk mengetahui Anda tidak memiliki ruang untuk empat GPU atau prosesor yang cukup cepat untuk membuat mereka semua sibuk.
Anda juga harus menyadari bahwa kinerja GPU paling sering dilaporkan dalam FLOP presisi tunggal, dan turun sedikit untuk presisi ganda. Jika Anda membutuhkan ketepatan ekstra dalam simulasi, Anda akan berakhir jauh di bawah kecepatan yang diiklankan.
Pergi ke balapan rekayasa perangkat lunak
Sebenarnya ada dua perhatian utama dari sudut pandang perangkat lunak, bottleneck Von Neumann dan model pemrograman. CPU memiliki akses yang cukup baik ke memori utama, GPU memiliki sejumlah besar memori onboard yang lebih cepat. Bukan tidak diketahui bahwa waktu memindahkan data masuk dan keluar dari GPU sepenuhnya meniadakan setiap kemenangan kecepatan. Secara umum CPU adalah pemenang untuk perhitungan moderat pada sejumlah besar data sementara GPU unggul dalam perhitungan berat pada jumlah yang lebih kecil. Semuanya membawa kita ke model pemrograman.
Pada tingkat tinggi masalahnya adalah debat MIMD / SIMD kuno dan terhormat. Multiple-Instruction / Multiple-Data sistem telah menjadi pemenang besar dalam komputasi umum dan komersial. Dalam model ini, yang mencakup SMP, ada beberapa prosesor yang masing-masing mengeksekusi aliran instruksi masing-masing. Ini setara dengan komputer dari dapur Prancis, tempat Anda mengarahkan sejumlah kecil koki terampil untuk menyelesaikan tugas yang relatif rumit.
Sistem Single-Instruction / Multiple-Data, di sisi lain, lebih mirip sebuah ruangan besar penuh pegawai yang dirantai ke meja mereka mengikuti instruksi dari master controller. "Semua orang TAMBAH baris 3 dan 5!" Itu digunakan dalam bentuk murni di ILLIAC dan beberapa sistem "mini-super" tetapi hilang di pasar. GPU saat ini adalah sepupu dekat, mereka lebih fleksibel tetapi memiliki filosofi umum yang sama.
Singkatnya:
- Untuk operasi apa pun yang diberikan CPU akan lebih cepat, sedangkan GPU dapat melakukan banyak secara bersamaan. Perbedaannya paling jelas dengan float 64-bit.
- Core CPU dapat beroperasi pada alamat memori apa pun, data untuk GPU harus dikemas ke area yang lebih kecil. Anda hanya menang jika Anda melakukan perhitungan yang cukup untuk mengimbangi waktu transfer.
- Kode yang berat dalam kondisi biasanya akan lebih bahagia di CPU.