Dari pemahaman saya, orang-orang mulai menggunakan GPU untuk komputasi umum karena mereka adalah sumber daya komputasi tambahan. Dan meskipun mereka tidak secepat CPU untuk setiap operasi, mereka memiliki banyak core, sehingga mereka bisa lebih baik diadaptasi untuk pemrosesan paralel daripada CPU. Ini masuk akal jika Anda sudah memiliki komputer yang kebetulan memiliki GPU untuk pemrosesan grafis, tetapi Anda tidak memerlukan grafik, dan ingin lebih banyak daya komputasi. Tetapi saya juga mengerti bahwa orang membeli GPU secara khusus untuk menambah daya komputasi, tanpa niat untuk menggunakannya untuk memproses grafik. Bagi saya, ini mirip dengan analogi berikut:
Saya perlu memotong rumput saya, tetapi mesin pemotong rumput saya lemah. Jadi saya lepaskan sangkar dari kipas kotak yang saya simpan di kamar saya dan pertajam bilahnya. Saya menempelkannya ke mesin pemotong rumput saya, dan saya menemukan itu berfungsi dengan cukup baik. Bertahun-tahun kemudian, saya adalah petugas pembelian untuk bisnis perawatan rumput yang besar. Saya memiliki anggaran yang cukup besar untuk dibelanjakan pada alat pemotong rumput. Alih-alih membeli mesin pemotong rumput, saya membeli banyak penggemar kotak. Sekali lagi, mereka bekerja dengan baik, tetapi saya harus membayar untuk suku cadang tambahan (seperti kandang) yang akhirnya tidak akan saya gunakan. (untuk keperluan analogi ini, kita harus mengasumsikan bahwa mesin pemotong rumput dan penggemar kotak harganya hampir sama)
Jadi mengapa tidak ada pasar untuk chip atau perangkat yang memiliki kekuatan pemrosesan GPU, tetapi tidak ada overhead grafis? Saya bisa memikirkan beberapa penjelasan yang mungkin. Yang mana dari mereka, jika ada, yang benar?
- Alternatif seperti itu akan terlalu mahal untuk dikembangkan ketika GPU sudah merupakan pilihan yang bagus (mesin pemotong rumput tidak ada, mengapa tidak menggunakan kipas kotak yang sangat bagus ini?).
- Fakta bahwa 'G' singkatan dari grafis hanya menunjukkan penggunaan yang dimaksudkan, dan tidak benar-benar berarti bahwa segala upaya yang dilakukan untuk membuat chip lebih baik diadaptasi ke pemrosesan grafis daripada jenis pekerjaan lain (mesin pemotong rumput dan penggemar kotak adalah hal yang sama ketika Anda langsung sampai ke sana; tidak ada modifikasi yang diperlukan untuk mendapatkan satu berfungsi seperti yang lain).
- GPU modern memiliki nama yang sama dengan pendahulunya, tetapi belakangan ini yang canggih tidak dirancang untuk secara khusus memproses grafik (kipas kotak modern dirancang untuk berfungsi sebagian besar sebagai mesin pemotong rumput, bahkan jika yang lebih tua tidak).
- Sangat mudah untuk menerjemahkan hampir semua masalah ke dalam bahasa pemrosesan grafis (rumput dapat dipotong dengan menghembuskan udara di atasnya dengan sangat cepat).
SUNTING:
Pertanyaan saya telah dijawab, tetapi berdasarkan beberapa komentar dan jawaban, saya merasa harus mengklarifikasi pertanyaan saya. Saya tidak bertanya mengapa semua orang tidak membeli perhitungan mereka sendiri. Jelas itu akan terlalu mahal sebagian besar waktu.
Saya hanya mengamati bahwa tampaknya ada permintaan untuk perangkat yang dapat dengan cepat melakukan komputasi paralel. Saya bertanya-tanya mengapa tampaknya perangkat yang optimal adalah Unit Pemrosesan Grafik, dibandingkan dengan perangkat yang dirancang untuk tujuan ini.
Jawaban:
Ini benar-benar kombinasi dari semua penjelasan Anda. Lebih murah dan lebih mudah, sudah ada, dan desain telah bergeser dari grafik murni.
GPU modern dapat dilihat sebagai stream prosesor utama dengan beberapa perangkat keras grafis tambahan (dan beberapa akselerator fungsi tetap, misalnya untuk encoding dan decoding video). Pemrograman GPGPU hari ini menggunakan API yang dirancang khusus untuk tujuan ini (OpenCL, Nvidia CUDA, AMD APP).
Selama satu atau dua dekade terakhir, GPU telah berevolusi dari pipeline fungsi-tetap (cukup banyak grafis saja) menjadi pipeline yang dapat diprogram ( shader membiarkan Anda menulis instruksi khusus) ke API yang lebih modern seperti OpenCL yang menyediakan akses langsung ke core shader tanpa menyertai pipa grafis.
Bit grafis yang tersisa kecil. Mereka adalah bagian kecil dari biaya kartu sehingga tidak jauh lebih murah untuk mengeluarkannya, dan Anda dikenakan biaya desain tambahan. Jadi ini biasanya tidak dilakukan - tidak ada yang setara dengan komputasi pada kebanyakan GPU - kecuali pada tingkatan tertinggi, dan itu cukup mahal.
GPU "permainan" normal sangat umum digunakan karena skala ekonomis dan kesederhanaan relatif membuatnya menjadi murah dan mudah untuk memulai. Ini jalur yang cukup mudah dari pemrograman grafis ke mempercepat program lain dengan GPGPU. Juga mudah untuk memutakhirkan perangkat keras karena produk yang lebih baru dan lebih cepat tersedia, tidak seperti opsi lainnya.
Pada dasarnya, pilihannya adalah:
sumber
Analogi favorit saya:
Apa yang Anda gunakan tergantung pada sensitivitas biaya, sejauh mana tugas dapat diparalelkan, dan faktor lainnya. Karena bagaimana pasar bermain, GPU adalah pilihan terbaik untuk sebagian besar aplikasi paralel dan CPU adalah pilihan terbaik ketika daya dan biaya unit menjadi perhatian utama.
Langsung ke pertanyaan Anda: mengapa GPU lebih dari ASIC / FPGA? Umumnya biaya. Bahkan dengan harga GPU yang dinaikkan saat ini, masih (secara umum) lebih murah menggunakan GPU daripada merancang ASIC untuk memenuhi kebutuhan Anda. Seperti yang ditunjukkan oleh @ user912264, ada tugas khusus yang dapat berguna untuk ASIC / FPGA. Jika Anda memiliki tugas yang unik dan Anda akan mendapat manfaat dari skala maka layak untuk merancang ASIC / FPGA. Bahkan, Anda dapat mendesain / membeli / melisensikan desain FPGA khusus untuk tujuan ini. Ini dilakukan untuk memberi daya piksel pada TV definisi tinggi misalnya.
sumber
Analogi Anda buruk. Dalam analoginya, ketika Anda membeli peralatan untuk bisnis perawatan kebun besar, Anda menganggap ada mesin pemotong rumput yang baik tersedia. Ini tidak terjadi di dunia komputasi - GPU adalah alat terbaik yang tersedia.
Biaya Litbang dan kemungkinan peningkatan kinerja untuk chip khusus cenderung terlalu tinggi untuk dibenarkan membuatnya.
Yang mengatakan, saya sadar Nvidia mengeluarkan beberapa GPU khusus untuk komputasi tujuan umum - mereka tidak memiliki output video - sedikit seperti menjual kipas kotak dengan kandang sudah dihapus.
sumber
Tentu saja, Anda dapat menggunakan chip khusus, baik untuk efisiensi energi atau kecepatan perhitungan. Biarkan saya memberi tahu Anda sejarah penambangan Bitcoin:
Jadi tidak, tidak ada alasan untuk menggunakan GPU alih-alih "kalkulator raksasa" khusus. Semakin besar insentif ekonomis, semakin banyak perangkat keras yang terspesialisasi. Namun, mereka cukup sulit untuk dirancang dan tidak layak untuk diproduksi jika Anda tidak memproduksi ribuan sekaligus. Jika tidak dapat merancang chip, Anda dapat membeli salah satunya dari Walmart terdekat.
TL; DR Tentu saja Anda dapat menggunakan chip yang lebih khusus.
sumber
Apa yang Anda gambarkan dalam analogi Anda adalah persis apa yang terjadi. Sama seperti Anda mengambil kipas Anda dan mengasah bilah untuk mencoba menggunakannya sebagai mesin pemotong rumput, sekelompok peneliti menyadari "Hei, kami memiliki beberapa unit pemrosesan multi-core yang cukup bagus di sini, mari kita coba menggunakannya untuk perhitungan keperluan umum! ".
Hasilnya bagus dan bola mulai bergulir. GPU beralih dari perangkat grafis saja untuk mendukung perhitungan tujuan umum untuk membantu dalam situasi yang paling menuntut.
Karena bagaimanapun operasi yang paling menuntut komputasi yang kita harapkan dari komputer adalah grafik. Cukup untuk melihat kemajuan menakjubkan dari bagaimana game terlihat hari ini dibandingkan dengan yang mereka lakukan beberapa tahun yang lalu. Ini berarti bahwa banyak usaha dan uang telah masuk ke dalam pengembangan GPU, dan fakta bahwa mereka juga dapat digunakan untuk mempercepat kelas perhitungan tujuan umum tertentu (yaitu sangat paralel) hanya menambah popularitas mereka.
Jadi sebagai kesimpulan, penjelasan pertama yang Anda tawarkan adalah yang paling akurat:
GPU yang sudah ada di sana, sudah tersedia untuk semua orang dan mereka bekerja.
sumber
Secara khusus, GPU bukan "inti" dalam arti "paralelisme tugas". Sebagian besar, itu dalam bentuk "paralelisme data". SIMD adalah "instruksi tunggal beberapa data". Artinya, Anda tidak akan melakukan ini:
for parallel i in range(0,1024): c[i] = a[i] * b[i]
Ini berarti bahwa Anda memiliki 1024 petunjuk petunjuk yang semuanya melakukan tugas terpisah yang berjalan dengan laju yang berbeda. SIMD, atau "komputasi vektor" akan melakukan instruksi di seluruh array secara bersamaan, lebih seperti ini:
c = a * b
"Loop" ada di instruksi "*" dan "=", bukan di luar instruksi. Di atas akan melakukan ini untuk semua elemen 1024 pada saat yang sama, pada penunjuk instruksi SAMA untuk mereka semua. Ini seperti memiliki tiga register besar untuk a, b, dan c. Kode SIMD sangat terbatas, dan hanya berfungsi dengan baik untuk masalah yang tidak terlalu "bercabang".
Dalam kasus realistis, nilai SIMD ini tidak cukup besar 1024 item. Bayangkan sebuah variabel yang merupakan geng int32 yang terikat bersama. Anda dapat menganggap perkalian dan menetapkan sebagai instruksi mesin nyata.
int32_x64 c; int32_x64 b; int32_x64 a; c = b * a;
GPU nyata lebih rumit daripada SIMD, tetapi itulah intinya. Itu sebabnya Anda tidak bisa begitu saja melempar algoritma CPU acak ke GPU dan mengharapkan speedup. Semakin banyak instruksi yang dilakukan oleh percabangan algoritma, semakin tidak cocok untuk sebuah GPU.
sumber
Jawaban lain di sini cukup bagus. Saya akan membuang 2 sen saya juga.
Salah satu alasan mengapa CPU menjadi begitu meresap adalah karena mereka fleksibel. Anda dapat memprogram ulang untuk berbagai tugas yang tak terbatas. Dewasa ini lebih murah dan lebih cepat bagi perusahaan yang menghasilkan produk untuk tetap menggunakan CPU atau mikrokontroler kecil dalam sesuatu dan memprogram fungsionalitasnya daripada mengembangkan sirkuit khusus untuk melakukan tugas yang sama.
Dengan menggunakan perangkat yang sama dengan yang lain, Anda dapat memanfaatkan solusi yang diketahui untuk masalah menggunakan perangkat yang sama (atau serupa). Dan saat platform semakin matang, solusi Anda berkembang dan menjadi sangat matang dan dioptimalkan. Orang-orang yang mengkode pada perangkat ini juga mendapatkan keahlian dan menjadi sangat pandai dalam keahlian mereka.
Jika Anda membuat jenis perangkat baru dari awal, beberapa alternatif untuk GPU, akan butuh bertahun-tahun bahkan bagi pengguna awal untuk benar-benar pandai mengetahui cara menggunakannya. Jika Anda memasang ASIC ke CPU Anda, bagaimana Anda mengoptimalkan perhitungan pembongkaran ke perangkat itu?
Komunitas arsitektur komputer telah beramai-ramai dengan ide ini selama beberapa tahun (jelas itu sudah populer sebelumnya, tetapi baru-baru ini melihat kebangkitan). 'Akselerator' ini (istilahnya) memiliki berbagai tingkat pemrograman ulang. Masalahnya adalah, seberapa sempit Anda mendefinisikan ruang lingkup masalah yang bisa ditangani oleh akselerator Anda? Saya bahkan telah berbicara dengan beberapa orang yang sedang bekerja membuat akselerator menggunakan sirkuit analog dengan op-amp untuk menghitung persamaan diferensial. Ide bagus, tapi cakupannya sangat sempit.
Setelah Anda memiliki akselerator yang berfungsi, kekuatan ekonomi akan memutuskan nasib Anda. Kelambanan pasar adalah kekuatan yang luar biasa. Sekalipun sesuatu adalah ide yang hebat, apakah layak secara ekonomi untuk memperbaiki solusi kerja Anda untuk menggunakan perangkat baru ini? Mungkin tidak.
GPU sebenarnya mengerikan untuk jenis masalah tertentu, sehingga banyak orang / perusahaan bekerja pada jenis perangkat lain. Tetapi GPU sudah sangat mengakar, apakah perangkat mereka akan menjadi layak secara ekonomi? Saya kira kita akan melihat.
Sunting: Memperluas jawaban saya sedikit, sekarang saya keluar dari bus.
Studi kasus peringatan adalah proyek Intel Larrabee. Ini dimulai sebagai perangkat pengolah paralel yang dapat melakukan grafik dalam perangkat lunak; itu tidak memiliki perangkat keras grafis khusus. Saya berbicara dengan seseorang yang bekerja di proyek, dan alasan utama mereka mengatakan itu gagal dan dibatalkan (selain politik internal yang mengerikan) adalah bahwa mereka tidak bisa membuat kompiler membuat kode yang baik untuk itu. Tentu saja itu menghasilkan kode kerja, tetapi jika seluruh titik produk Anda adalah kinerja maksimum, Anda lebih baik memiliki kompiler yang menghasilkan kode yang cukup optimal. Ini kembali ke komentar saya sebelumnya tentang kurangnya keahlian yang mendalam dalam perangkat keras dan perangkat lunak untuk perangkat baru Anda menjadi masalah besar.
Beberapa elemen desain Larrabee membuatnya menjadi Xeon Phi / Intel MIC. Produk ini benar-benar berhasil dipasarkan. Itu sepenuhnya terfokus pada paralelisasi perhitungan ilmiah dan tipe HPC lainnya. Sepertinya itu adalah kegagalan komersial sekarang. Orang lain yang saya ajak bicara di Intel menyiratkan bahwa mereka tidak bersaing dengan GPU.
Orang-orang telah mencoba untuk mengintegrasikan sintesis logika untuk FPGA ke dalam kompiler, sehingga Anda dapat secara otomatis menghasilkan kode untuk akselerator FPGA Anda. Mereka tidak bekerja dengan baik.
Satu tempat yang tampaknya menjadi tanah subur bagi akselerator, atau alternatif lain untuk GPU, adalah cloud. Skala ekonomi yang ada di perusahaan-perusahaan besar ini seperti Google, Amazon, dan Microsoft menjadikan investasi dalam skema komputasi alternatif bermanfaat. Seseorang telah menyebutkan unit pemrosesan tensor Google. Microsoft memiliki FPGA dan hal-hal lain di seluruh infrastruktur Bing dan Azure-nya. Kisah yang sama dengan Amazon. Sangat masuk akal jika skala dapat mengimbangi investasi Anda dalam waktu, uang, dan air mata insinyur.
Singkatnya, spesialisasi bertentangan dengan banyak hal lain (ekonomi, kematangan platform, keahlian teknik, dll). Spesialisasi dapat secara signifikan meningkatkan kinerja Anda, tetapi mempersempit ruang lingkup yang digunakan perangkat Anda. Jawaban saya terfokus pada banyak hal negatif, tetapi spesialisasi juga memiliki banyak manfaat. Ini benar-benar harus dikejar dan diselidiki, dan seperti yang saya sebutkan banyak kelompok mengejar itu cukup agresif.
Maaf, edit lagi: Saya pikir premis awal Anda salah. Saya percaya itu bukan kasus mencari sumber daya komputasi tambahan, dan lebih banyak kasus orang mengakui peluang. Pemrograman grafik sangat aljabar linier berat, dan GPU dirancang untuk secara efisien melakukan operasi umum seperti matrix-multiply, operasi vektor, dll. Operasi yang juga sangat umum untuk komputasi ilmiah.
Ketertarikan pada GPU dimulai ketika orang mulai menyadari bahwa janji-janji yang diberikan oleh proyek Intel / HP EPIC sangat dilebih-lebihkan (akhir 90-an awal 2000-an). Tidak ada solusi umum untuk paralelisasi kompiler. Jadi daripada mengatakan "di mana kita menemukan lebih banyak kekuatan pemrosesan, oh kita bisa mencoba GPU", saya pikir itu lebih "kita punya sesuatu yang bagus dalam perhitungan paralel, dapatkah kita membuat ini lebih umum diprogram". Banyak orang yang terlibat berada dalam komunitas komputasi ilmiah, yang sudah memiliki kode paralel Fortran yang dapat mereka jalankan pada mesin Cray atau Tera (Tera MTA memiliki 128 utas perangkat keras). Mungkin ada pergerakan dari kedua arah, tetapi saya hanya mendengar menyebutkan tentang asal-usul GPGPU dari arah ini.
sumber
ASIC (silikon khusus) sangat cepat, tetapi sangat mahal untuk desain dan pembuatan. ASIC digunakan untuk tujuan khusus, dan CPU adalah salah satu pendekatan yang memungkinkan komputer untuk "diprogram" sehingga tugas komputasi dapat dilakukan oleh perangkat lunak. Awal CPU memberi orang kemampuan untuk mengambil keuntungan dari kekuatan ASIC tanpa biaya besar dengan memprogram chip di lapangan. Pendekatan ini menjadi sangat sukses sehingga memunculkan komputer yang sangat cepat Anda gunakan saat ini.
Jadi mengapa GPU?
Pada pertengahan 90-an, 3DFX menyadari bahwa tugas rendering 3D sangat spesifik sehingga ASIC khusus akan melakukan JAUH lebih baik daripada CPU. Mereka menciptakan co-prosesor komputer yang mengeluarkan tugas rendering 3D dari CPU ke co-prosesor ini, yang mereka juluki "GPU". Persaingan dan permintaan pasar mendorong inovasi dalam ruang ini ke titik di mana GPU melakukan perhitungan jauh lebih cepat daripada CPU, jadi timbul pertanyaan, "Mengapa saya tidak bisa menggunakan GPU untuk menghitung angka-angka saya alih-alih CPU?" Pabrikan GPU melihat permintaan dan cara untuk menghasilkan lebih banyak uang, jadi mereka mulai mengubah platform mereka untuk memungkinkan pengembang menggunakan perangkat keras mereka. Tetapi perangkat keras perangkat keras itu begitu spesifik-tujuan sehingga ada, dan masih ada, batasan dalam apa yang dapat Anda minta GPU lakukan. Saya tidak akan membahas secara spesifik mengapa di sini.
Jadi mengapa tidak ada silikon yang lebih spesifik? Mengapa HANYA grafis?
Dua alasan: 1) Harga. GPU memiliki pasar yang bagus, dan dapat membenarkannya, tetapi bahkan saat itu, itu adalah risiko yang sangat besar. Tidak ada yang benar-benar tahu jika 3DFX bisa mendapat untung (ternyata, mereka tidak bisa benar-benar, dan mati). Bahkan sekarang, dengan ukuran pasar GPU, sebenarnya hanya ada 3 pesaing. 2) CPU benar-benar memenuhi kebutuhan "silikon kustom" dengan ekstensi instruksi. Pikirkan kembali ke MMX - ini sebenarnya adalah upaya Intel untuk mempercepat grafik di CPU tepat saat 3DFX mendapatkan kecepatan. Sejak itu, set instruksi x86 telah berkembang menjadi sangat masif dengan semua ekstensi khusus ini. Banyak dari ekstensi ini masuk akal pada saat itu (seperti MMX), tetapi sebagian besar hanya bobot mati di prosesor sekarang. Anda tidak dapat menghapusnya, karena itu merusak perangkat lunak yang ada. Saya t' sebenarnya salah satu nilai jual untuk ARM - ARM adalah set instruksi yang dipreteli. Tidak banyak ekstensi instruksi, tetapi ini membuat silikon lebih kecil dan lebih murah untuk diproduksi.
Sepertinya saya bisa menghasilkan banyak uang jika Anda bisa mengurangi biaya silikon kustom. Tidak adakah yang mengerjakan ini?
Ada teknologi yang disebut FPGA - bidang gerbang array yang dapat diprogram, yang sudah ada sejak awal komputasi. Ini pada dasarnya sebuah microchip yang dapat Anda desain "di lapangan" menggunakan perangkat lunak. Ini teknologi yang sangat keren, tetapi semua struktur yang diperlukan untuk membuat chip yang dapat diprogram membutuhkan BANYAK silikon dan menyebabkan chip berjalan pada kecepatan clock yang jauh lebih rendah. FPGA BISA lebih cepat daripada CPU, jika Anda memiliki cukup silikon pada chip DAN secara efektif dapat memparalelkan tugas. Tapi mereka terbatas pada seberapa banyak logika yang bisa kamu pakai pada mereka Semua kecuali FPGA termahal lebih lambat daripada GPU untuk penambangan bitcoin awal, tetapi rekan ASIC mereka secara efektif mengakhiri profitabilitas penambangan GPU. Cryptocurrency lain telah menggunakan algoritma spesifik yang tidak dapat diparalelkan, jadi FPGA dan ASIC '
Pembatas utama dengan FPGA adalah ukuran silikon - seberapa banyak logika yang bisa Anda masukkan pada chip? Yang kedua adalah clock speed, karena sulit untuk mengoptimalkan hal-hal seperti hot spot, kebocoran, dan cross-talk dalam FPGA. Metode fabrikasi yang lebih baru telah meminimalkan masalah ini, dan Intel telah bekerja sama dengan Altera untuk menyediakan FPGA yang dapat digunakan oleh para insinyur untuk memanfaatkan manfaat "silikon kustom" sebagai co-prosesor di server. Jadi itu datang, dalam arti tertentu.
Apakah FPGA akan pernah menggantikan CPU dan GPU?
Mungkin tidak dalam waktu dekat. CPU dan GPU terbaru adalah MASSIVE dan silikon yang sangat sesuai untuk kinerja termal dan listrik. Anda tidak dapat mengoptimalkan FPGA dengan cara yang sama seperti ASIC khusus. Kecuali beberapa teknologi yang inovatif, CPU kemungkinan akan tetap menjadi inti dari komputer Anda dengan FPGA dan GPU prosesor.
sumber
Memang ada papan khusus untuk komputasi kecepatan tinggi, misalnya Xilinx memiliki daftar 178 papan PCI-e menggunakan FPGA mereka, dan sekitar sepertiga dari papan ini adalah "pengolah angka" dengan satu atau beberapa chip FPGA yang kuat dan banyak memori papan DDR. Ada juga papan DSP berkinerja tinggi ( contoh ) yang ditujukan untuk tugas komputasi berkinerja tinggi.
Saya kira popularitas papan GPU berasal dari tujuan mereka pada kelompok pelanggan yang lebih luas. Anda tidak perlu berinvestasi dalam perangkat keras khusus untuk bermain dengan Nvidia CUDA, jadi saat Anda memiliki tugas yang memerlukan perangkat keras khusus, GPU Nvidia akan memiliki keunggulan kompetitif karena Anda sudah tahu cara memprogramnya.
sumber
Saya pikir jawaban untuk pertanyaan Anda tergantung pada bagaimana mendefinisikan komputasi kinerja tinggi.
Secara umum, perhitungan kinerja tinggi terkait dengan waktu perhitungan. Dalam hal ini, saya ingin berbagi tautan kluster komputasi berkinerja tinggi .
Tautan tersebut menentukan alasan penggunaan GPU; Penggunaan kartu grafis (atau lebih tepatnya GPU mereka) untuk melakukan perhitungan untuk komputasi grid jauh lebih ekonomis daripada menggunakan CPU, meskipun kurang tepat.
sumber
double
, bukan hanya 32-bit tunggal presisifloat
. (Beberapa GPU biasa berhemat pada HW untukdouble
). Vendor utama semua mendukung IEEE FP matematika (saya pikir bahkan dengan denormals). Jadi tidak ada kehilangan presisi kecuali Anda ingin memperdagangkan presisi untuk kinerja, misalnya dengan FP 16-bit setengah-presisi yang memiliki throughput yang lebih baik pada beberapa perangkat keras (dan tentu saja setengah bandwidth memori). Kode kinerja tinggi pada CPU sering menggunakan 32-bitfloat
juga, untuk mendapatkan elemen dua kali lebih banyak per vektor SIMD dan setengah dari bandwidth memori.