Saya tidak memiliki perasaan yang kuat tentang CUDA vs. OpenCL; mungkin OpenCL adalah masa depan jangka panjang, hanya dengan menjadi standar terbuka.
Tetapi kartu NVIDIA vs ATI saat ini untuk GPGPU (bukan kinerja grafis, tetapi GPGPU), yang menurut saya sangat bagus. Dan untuk mengarahkannya, saya akan menunjukkan bahwa pada daftar 500 cluster besar saat ini , NVIDIA memimpin sistem AMD 4 ke 1, dan di gpgpu.org , hasil pencarian (makalah, tautan ke sumber daya online, dll) untuk NVIDIA melebihi hasil untuk AMD 6: 1.
Sebagian besar dari perbedaan ini adalah jumlah informasi online yang tersedia. Lihat Zona CUDA NVIDIA versus Pusat Pengembang GPGPU AMD . Jumlah hal-hal yang ada untuk para pengembang yang memulai bahkan tidak bisa dibandingkan. Di situs NVIDIA, Anda akan menemukan banyak sekali makalah - dan kode kontribusi - dari orang-orang yang mungkin mengerjakan masalah seperti milik Anda. Anda akan menemukan banyak sekali kelas online, dari NVIDIA dan tempat lain, dan dokumen yang sangat berguna seperti panduan praktik terbaik pengembang, dll. Ketersediaan alat pengembangan gratis - profiler, cuda-gdb, dll - sangat memiringkan cara NVIDIA.
(Editor: informasi dalam paragraf ini sudah tidak akurat lagi.) Dan beberapa perbedaan juga ada pada perangkat keras. Kartu AMD memiliki spesifikasi yang lebih baik dalam hal peak flop, tetapi untuk bisa mendapatkan bagian yang signifikan dari itu, Anda tidak hanya harus memecah masalah Anda ke banyak stream processor yang benar-benar independen, setiap item pekerjaan juga perlu di-vektorisasi. Mengingat bahwa kode GPGPUing cukup sulit, kompleksitas arsitektur ekstra itu cukup untuk membuat atau menghancurkan beberapa proyek.
Dan hasil dari semua ini adalah komunitas pengguna NVIDIA terus berkembang. Dari tiga atau empat grup yang saya tahu berpikir untuk membangun cluster GPU, tidak ada yang secara serius mempertimbangkan kartu AMD. Dan itu berarti lebih banyak lagi kelompok yang menulis makalah, menyumbangkan kode, dll di sisi NVIDIA.
Saya bukan seorang NVIDIA shill; Saya berharap tidak seperti ini, dan ada dua (atau lebih!) Platform GPGPU yang sama-sama menarik. Persaingan itu bagus. Mungkin AMD akan segera meningkatkan permainannya - dan produk fusi yang akan datang terlihat sangat menarik. Tetapi dalam memberi seseorang nasihat tentang kartu mana yang akan dibeli hari ini, dan di mana menghabiskan waktu mereka untuk berusaha sekarang, saya tidak dapat dengan hati nurani yang baik mengatakan bahwa kedua lingkungan pengembangan itu sama baiknya.
Diedit untuk menambahkan : Saya kira pertanyaan di atas sedikit elips dalam menjawab pertanyaan asli, jadi izinkan saya membuatnya sedikit lebih eksplisit. Kinerja yang dapat Anda peroleh dari sebuah perangkat keras adalah, dalam dunia yang ideal dengan waktu yang tersedia tak terbatas, hanya bergantung pada perangkat keras yang mendasari dan kemampuan bahasa pemrograman; tetapi pada kenyataannya, jumlah kinerja yang bisa Anda peroleh dalam jumlah waktu tetap yang diinvestasikan juga sangat bergantung pada alat pengembangan, basis kode komunitas yang ada (misalnya, perpustakaan yang tersedia untuk umum, dll). Semua pertimbangan tersebut mengarah pada NVIDIA.
(Editor: informasi dalam paragraf ini tidak lagi akurat.) Dalam hal perangkat keras, persyaratan vektorisasi dalam unit SIMD di kartu AMD juga membuat pencapaian kinerja kertas lebih sulit daripada dengan perangkat keras NVIDIA.