İçeriğe geç

Özel Röportaj: Nvidia’nın Ian Buck Görüşmeleri GPGPU

    1651193043

    Nvidia’dan Ian Buck ile tanışın

    Bugün sohbet etmeye zaman ayırdığınız için teşekkürler. Bazı temel bilgilerle başlayalım. Neden okuyucularımıza biraz kendinizden ve Nvidia’da ne yaptığınızdan bahsetmiyorsunuz?

    Nvidia’da GPU Hesaplamanın Yazılım Direktörüyüm. Ana odak noktam, sistem yazılımı, geliştirici araçları, dil ve derleyici yönü, kitaplıklar ve hedeflenen uygulamalar ve algoritmalar içeren eksiksiz bir GPU bilgi işlem platformu oluşturmak ve geliştirmek. Harika bir ekibin yardımıyla hem son kullanıcı yazılımını geliştiriyoruz hem de Nvidia içinde GPU hesaplamanın yönünü belirliyoruz.

    Neden en baştan başlamıyoruz? GPGPU’ya olan ilginizin 5 yaşındayken başlamadığını hayal ediyorum – Princeton veya Stanford’da GPGPU’ya olan ilginizi keşfetmenize neden olan olaylar nelerdi?

    Princeton günlerimde, o zamanlar SGI O2 olan grafik donanımı üzerinde termal konveksiyon ve sıvı simülasyonu deneyerek GPU hesaplamayla uğraştım. İşler çok kısıtlı olmasına rağmen, bunun için bir dava açmak zordu.

    Stanford’daki doktora araştırmam sırasında ciddi olarak GPU hesaplamaya bakmaya başladım. Stanford’da ben ve araştırma topluluğundaki diğer kişilerle birlikte programlanabilir grafiklerin doğal ilerlemesinin GPU’nun daha genel amaçlı bir işlemciye evrimi olduğunu fark ettim. Bu noktayı kanıtlamaya yardımcı olmak için DX9 sınıfı GPU donanımıyla ışın izleme üzerine ilk SIGGRAPH makalelerinden birini yazdık. Çalışma hakkında bu kadar motive edici olan şey, herkesin bilgisayarında bulunan bu ticari işlemcinin, CPU’dan çok daha hızlı olan Moore yasasının küplü performans büyüme oranını takip etmesiydi. Bu şu soruyu sordu: Bir PC, bugünden daha fazla bilgi işlem beygir gücüne sahip birden fazla siparişe sahip olsaydı ne yapabilirdi? Bilgisayarlı görme, yapay zeka, veri madenciliği ve grafiklerin yanı sıra hesaplamalı bilimler için tam bir oyun değiştirici.

    Brook’taki rolün neydi?

    GPU üzerinde ışın izleme yeteneği üzerinde çalıştıktan sonra, Stanford’daki araştırma odağım GPU hesaplama için doğru programlama modelini anlamaya geçti. O zamanlar, birçok kişi GPU’nun çeşitli farklı uygulamalarda iyi olduğunu göstermişti, ancak GPU’yu bir hesaplama cihazı olarak nasıl düşünmesi gerektiğine dair iyi bir çerçeve veya programlama modeli yoktu. O zamanlar, bir uygulamayı GPU’ya taşıyabilmek için bilgisayar grafiklerinde doktora derecesi gerekiyordu. Bu yüzden, GPU’nun grafik-izmlerini daha genel programlama kavramlarına soyutlayan GPU hesaplama için bir programlama dili tanımlama hedefiyle Brook projesine başladım. Brook’un temel programlama konsepti, benzer çalışmayı gerektiren veri öğelerinin bir koleksiyonu olan “akım” idi. Brook sonunda Stanford’daki doktora tezim oldu. 

    Çalışmanız Stanford Streaming Süper Bilgisayarı Merrimac ile başladı. Bunun Tesla gibi bir şeyden farkı nedir?

    Brook’un programlama modeli kavramları GPU’lardan daha fazlasına uygulanabilirdi. Stanford’da Brook programlama modelinin iki farklı uygulaması üzerinde çalıştık: biri GPU’lar için, diğeri ise Stanford’da geliştirilen bir araştırma mimarisi olan Merrimac için. Merrimac’ın bir parçası olarak öncülük edilen fikirlerin çoğu, genel amaçlı bilgi işlem için GPU’ların nasıl geliştirilebileceğini etkiledi. Stanford’da Merrimac’ın baş araştırmacısı olan Bill Dally’nin şimdi Nvidia’da Baş Bilim Adamı olduğu da belirtilmelidir. 

    CUDA’nın Gelato’da kökleri var mıydı? GPGPU’nun ilk akademik keşfi neydi? İlk ticarileştirilmiş kullanım ne olacak?

    CUDA’ya Stanford’da araştırmamı tamamlarken başladım. Nvidia zaten araştırmamı çok destekledi ve donanım tarafında GPU hesaplamayı daha iyi etkinleştirme potansiyelini açıkça gördü. 2005 yılında CUDA projesini başlatmak için Nvidia’ya katıldım. O zamanlar sadece ben ve başka bir mühendis vardı. Projeyi şimdi olduğu gibi büyüttük ve bugün Nvidia’nın GPU’larının merkezi bir bileşeni haline getirdik.

    www.gpgpu.org, 2002 yılına kadar uzanan güzel bir GPU hesaplama geçmişi sağlar.

    Şu anda AMD, Brook’u GPGPU için tercih edilen programlama dili olarak zorlarken, Nvidia’nın CUDA uzantılı C’si var. Her ikisinin de güçlü/zayıf yönlerini nasıl karşılaştırırsınız?

    Nvidia’dan başlayarak, Brook’un büyük ölçüde DX9 sınıfı donanımın neler başarabileceğine dayanan bazı temel tasarım kararlarını yeniden gözden geçirme fırsatımız oldu. Anahtar sınırlamalardan biri, programcının algoritmasını oldukça sınırlı bir bellek erişim modeli etrafında haritalamasını gerektiren bellek modelinin kısıtlamalarıydı. CUDA uzantılı C’miz ile bu kısıtlamaları gevşettik. Temel olarak, programcıya büyük bir iş parçacığı havuzu verildi ve belleğe istediği şekilde erişebilirdi. Bu iyileştirme ve diğer birkaç gelişme, GPU’da tam C dili semantiğini uygulamamıza izin verdi.

    0 0 votes
    Rating post
    Subscribe
    Bildir
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x