CUDA
CUDA (Compute Unified Device Architecture), GPU (Graphics Processing Unit) için NVIDIA'nın sunduğu C programlama dili üzerinde eklenti olarak kullanıma sunulan bir mimari ve teknolojidir.
PathScale tabanlı bir C derleyicisi ve C ile yazılmış algoritmaların GPU üzerinde çalışmasını sağlayan geliştirme araçları kümesidir. CUDA, nVidia tarafından geliştirilmiştir ve çalışması için nVidia GPU ve son sürüm driverlara ihtiyaç vardır. CUDA G8X üzeri, GeForce, Quadro ve Tesla'yı içeren her GPU da çalışır. nVidia, ekran kartı mimarilerinin ileriye doğru kod uyumluluğu sayesinde, Geforce 8 için geliştirilen programların herhangi bir düzeltme yapılmadan gelecek nesil ekran kartlarında hızlanmalardan otomatik olarak faydalanacak şekilde kullanılabileceğini belirtiyor. CUDA kütüphanesi, geliştiricilerin CUDA özellikli GPU'lar üzerindeki hafızalara ve Stream Processorlara hükmedebilmesini sağlar. İlk CUDA Geliştirici seti (SDK) 15 Şubat 2007 de yayınlandı.
Faydaları
CUDA genel amaçlı GPU hesaplamalarında grafik işlemcisinin çekirdeklerinin kullanılmasını sağlar.
- Birkaç basit eklentiyle beraber C dilini kullanır.
- Kod rastgele erişimli belleğe yazabilir.
Sınırlamalar
- Doku yaratımı desteklenmiyor.
- Özyineli(tekrarlanan) fonksiyonlar desteklenmiyor ve döngüye çevrilmeleri gerekiyor.
- IEEE 754 standardı double precision floating point sayılarda desteklenmiyor.
- İş parçacıkları en iyi performans için 32 li gruplar olarak çalıştırılmalı. 32'li grup içindeki program akışının farklı dallanmaları performansı olumsuz olarak etkiliyor.
- CUDA sadece Nvidia Quadro ve Geforce 8, 9, 200 serisi ve tüm daha yeni kartlarda destekleniyor.
Desteklenen GPU'lar
Desteklenen GPU ların ve ekran kartlarının listesi aşağıdadır. Ayrıca Nvidia22 Ocak 2016 tarihinde Wayback Machine sitesinde arşivlendi. sitesine bakılabilir:
Versiyon | GPU | Ekran kartı |
---|---|---|
1.0 | G80, G92, G92b, G94, G94b | GeForce 8800GTX/Ultra, 9400GT, 9600GT, 9800GT, Tesla C/D/S870, FX4/5600, 360M, GT 420 |
1.1 | G86, G84, G98, G96, G96b, G94, G94b, G92, G92b | GeForce 8400GS/GT, 8600GT/GTS, 8800GT/GTS, 9600 GSO, 9800GTX/GX2, GTS 250, GT 120/30/40, FX 4/570, 3/580, 17/18/3700, 4700x2, 1xxM, 32/370M, 3/5/770M, 16/17/27/28/36/37/3800M, NVS290, NVS420/50 |
1.2 | GT218, GT216, GT215 | GeForce 210, GT 220/40, FX380 LP, 1800M, 370/380M, NVS300, NVS 2/3100M |
1.3 | GT200, GT200b | GeForce GTX 260, GTX 275, GTX 280, GTX 285, GTX 295, Tesla C/M1060, S1070, Quadro CX, FX 3/4/5800 |
2.0 | GF100, GF110 | GeForce (GF100) GTX 465, GTX 470, GTX 480, Tesla C2050, C2070, S/M2050/70, Quadro Plex 7000, Quadro 4000, 5000, 6000, GeForce (GF110) GTX 560 TI 448, GTX570, GTX580, GTX590 |
2.1 | GF104, GF114, GF116, GF108, GF106 | GeForce 610M, GT 430, GT 440, GTS 450, GTX 460, GT 545, GTX 550 Ti, GTX 560, GTX 560 Ti, 500M, Quadro 600, 2000 |
3.0 | GK104, GK106, GK107 | GeForce GTX 770, GTX 760, GTX 690, GTX 680, GTX 670, GTX 660 Ti, GTX 660, GTX 650 Ti BOOST, GTX 650 Ti, GTX 650, GT 640, GT 630, GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GTX 670M, GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, Quadro K600, Quadro K2000, Quadro K4000, Quadro K5000 |
3.5 | GK110 | Tesla K20X, K20, GeForce GTX TITAN, GTX 780 |
Resmi CUDA destekli cihazların listesi:
GeForce GT 630 |
|
|
Ayrıca bakınız
- GPGPU
- Close to Metal
- OpenCL
- BrookGPU
- Lib Sh
- Comparison of MPI, OpenMP, and Stream Processing
- Nvidia Corporation
- Graphics Processing Unit (GPU)
- Stream processing
- Shader
- Derin öğrenme yazılımlarının karşılaştırılması
Kaynakça
Dış bağlantılar
- Türkçe CUDA Örnekleri
- Nvidia CUDA Homepage
- Nvidia CUDA GPU Computing developer forums
- Nvidia CUDA developer registration for professional developers and researchers
- Beyond3D – Introducing CUDA Nvidia's Vision for GPU Computing (16th February 2007)
- University of Illinois Nvidia CUDA Course taught by Wen-mei Hwu and David Kirk (9th March 2007)
- Introduction to CUDA for Computer Scientists
- Ascalaph DNA GPU for nucleic acids modeling.
- CUDA implementation for multi-core processors