Saya pikir pertanyaan ini lebih baik disajikan di bagian CS Stack Exchange. Sekarang kita memiliki GPGPU dengan bahasa seperti CUDA dan OpenCL, apakah ekstensi SIMD multimedia (SSE / AVX / NEON) masih melayani tujuan?
Saya membaca sebuah artikel baru-baru ini tentang bagaimana instruksi SSE dapat digunakan untuk mempercepat penyortiran jaringan. Saya pikir ini cukup rapi tetapi ketika saya mengatakan kepada profesor arch arch saya dia tertawa dan mengatakan bahwa menjalankan kode yang sama pada GPU akan menghancurkan versi SIMD. Saya tidak meragukan hal ini karena SSE sangat sederhana dan GPU adalah akselerator besar yang sangat kompleks dengan paralelisme yang jauh lebih banyak, tetapi hal itu membuat saya berpikir, apakah ada banyak skenario di mana ekstensi SIMD multimedia lebih berguna daripada menggunakan GPU?
Jika GPGPU membuat SIMD berlebihan, mengapa Intel meningkatkan dukungan SIMD mereka? SSE adalah 128 bit, sekarang 256 bit dengan AVX dan tahun depan akan menjadi 512 bit. Jika GPGPU lebih baik memproses kode dengan paralelisme data, mengapa Intel mendorong ekstensi SIMD ini? Mereka mungkin dapat menempatkan sumber daya yang setara (penelitian dan area) ke dalam cache yang lebih besar dan alat prediksi cabang sehingga meningkatkan kinerja serial.
Mengapa menggunakan SIMD, bukan GPGPU?