Yirmi yıldan fazla bir süre önce, orijinal olarak Sun Microsystems tarafından geliştirilen Java programlama dili, geliştiricilere bir kez bir uygulama oluşturabilme ve ardından herhangi bir işletim sisteminde çalıştırabilme vaadini sunuyordu.
Intel’in CTO’su Greg Lavender, Sun’da on yılı aşkın bir süre çalışarak geçirdiği için Java’nın orijinal vaadini çoğundan daha iyi hatırlıyor. Farklı donanım ve işletim sistemleri için uygulamalar oluşturmaya ihtiyaç duymak yerine, Java’nın vaadi daha tekdüze ve akıcı bir geliştirmeydi.
Bununla birlikte, bir kez oluşturma ve herhangi bir yerde çalıştırma yeteneği, 2022’de bilgi işlem ortamında tek tip değildir. Intel’in, en azından hızlandırılmış bilgi işlem ve GPU’ların kullanımı söz konusu olduğunda, değişmesine yardımcı olmak istediği bir durum.
GPU’lar için tek tip, Java benzeri bir dile duyulan ihtiyaç
Lavender, VentureBeat’e şunları söyledi: “Bugün, hızlandırılmış bilgi işlem ve GPU dünyasında, CUDA’yı kullanabilir ve ardından yalnızca bir Nvidia GPU’da çalıştırabilirsiniz veya AMD’nin bir AMD GPU’sunda çalışan CUDA eşdeğerini kullanabilirsiniz” dedi. “Bir Intel GPU’yu programlamak için CUDA’yı kullanamazsınız, peki ne kullanıyorsunuz?”
Intel’in büyük ölçüde katkıda bulunduğu yer burasıdır. açık kaynak SYCL Java’nın onlarca yıl önce uygulama geliştirme için yaptığını GPU ve hızlandırılmış hesaplama için yapmayı amaçlayan spesifikasyon (SYCL “orak” gibi telaffuz edilir). Intel’in SYCL’ye yaptığı yatırım tamamen özverili değildir ve sadece açık kaynaklı bir çalışmayı desteklemekle ilgili değildir; aynı zamanda, yakın zamanda piyasaya sürülen tüketici ve veri merkezi GPU’larına yönelik daha fazla gelişmeyi yönlendirmeye yardımcı olmakla da ilgilidir.
SYCL, C++ dilinde veri paralel programlama için bir yaklaşımdır ve Lavender’a göre CUDA’ya çok benzer.
Intel, hepsine hükmedecek tek bir kod için standardizasyonu destekler
Bugüne kadar, SYCL geliştirmesi tarafından yönetilmiştir. Kronos Grubu, paralel bilgi işlem, sanal gerçeklik ve 3D grafikler için standartlar oluşturmaya yardımcı olan çok paydaşlı bir kuruluştur. 1 Haziran’da Intel, İskoç geliştirme firmasını satın aldı Codeplay YazılımıSYCL spesifikasyonunun önde gelen katkılarından biri olan .
Lavender, “C++ uzantıları standart hale getirilmiş, Intel, AMD ve Nvidia GPU’larında kodunuzu değiştirmeden çalışabilen açık bir programlama diline sahip olmalıyız” dedi.
CUDA’yı SYCL’ye dönüştürmek için otomatik araç
Lavanta da bir realist ve CUDA için özel olarak yazılmış birçok kod olduğunu biliyor. Bu nedenle Intel geliştiricileri, adı verilen açık kaynaklı bir araç geliştirdi. SYCLomaticCUDA kodunu SYCL’ye taşımayı amaçlayan . Lavender, SYCLomatic’in bugün CUDA’da bulunan tüm işlevlerin yaklaşık %95’ini kapsadığını iddia etti. %5 SYCLomatic’in, Nvidia donanımına özgü yetenekleri kapsamadığını kaydetti.
SYCL ile Lavender, geliştiricilerin kullanabileceği, cihazdan bağımsız kod kitaplıkları olduğunu söyledi. Çalışma şekli, kodun bir geliştirici tarafından bir kez yazılmasıdır ve ardından SYCL, Nvidia, AMD veya Intel GPU için gerekli olan mimariyle çalışmak üzere kodu derleyebilir.
İleriye dönük olarak, Lavender, SYCL’nin açık kaynak çabalarının katılımını ve büyümesini daha da sağlamak için bir Linux Vakfı projesi olabileceğinden umutlu olduğunu söyledi. Intel ve Nvidia, birden fazla çabayı destekleyen Linux Vakfı’nın üyeleridir. Intel ve Nvidia’nın bugün üye olduğu projeler arasında, altyapı programlama birimleri (IPU’lar) ve veri işleme birimleri (DPU’lar) için açık bir standart sağlamayı amaçlayan Açık Programlanabilir Altyapı (OPI) projesi yer alıyor.
Lavender, “Bir kez yazmalı, hızlandırılmış bilgi işlem için her yerde koşmalı ve ardından hangi GPU’yu kullanmak istediğine pazarın karar vermesine ve oyun alanını düzleştirmesine izin vermeliydik” dedi.
VentureBeat’in misyonu teknik karar vericilerin dönüştürücü kurumsal teknoloji ve işlemler hakkında bilgi edinmeleri için dijital bir şehir meydanı olmaktır. Brifinglerimizi keşfedin.
Kaynak : https://venturebeat.com/programming-development/intel-cto-wants-developers-to-build-once-run-on-any-gpu/