NVIDIA GPU'lar, Codeplay DPC ++ Standardının Geliştirilmesine Katkı Sağladıktan Sonra SYCL Desteği Aldı

Donanım / NVIDIA GPU'lar, Codeplay DPC ++ Standardının Geliştirilmesine Katkı Sağladıktan Sonra SYCL Desteği Aldı 2 dakika okundu

Nvidia



Intel, Xilinx, Renesas ve Imagination Technologies, SYCL ('orak' olarak telaffuz edilir) gibi önde gelen şirketlerden destek aldıktan sonra, NVIDIA GPU'ları kullanan geliştiriciler artık bu avantajdan da yararlanabilecekler. SYCL Topluluğuna kararlı bir şekilde aktif bir katkıda bulunan kuruluş olan Codeplay, şimdi çeşitli donanım platformlarında kodu geri dönüştürme ve yeniden kullanma olanağı sağlayan gelişmiş DPC ++ (Data Parallel C ++) geliştirme sürecini tamamladı. Sonuç ComputeCpp, Codeplay’ın kendi SYCL uygulaması .

ComputeCpp’nin Son Sürümü, OpenCL ve NVIDIA’nın PTX’ini kullanarak NVIDIA GPU'lar için Deneysel Destek Sunuyor

Geçen yıl Intel, SYCL'yi desteklemek için kararlı bir adım attı ve hatta oneAPI Standardı üzerinde çalışmaya başladı. OneAPI, Intel’in CPU’ları, GPU’ları ve FPGA’ları için DPC ++ (uzantılarla birlikte bir SYCL uygulaması) içerir. Hareket kısa sürede oldukça büyüdü ve Xilinx, Renesas ve Imagination Technologies'den SYCL desteği geldikten sonra ivme kazandı. Basitçe söylemek gerekirse, yazılım geliştiriciler artık SYCL kullanarak çok çeşitli cihazları hedefleyebilmektedir.



ComputeCpp, OpenCL ve NVIDIA’nın PTX'ini kullanarak NVIDIA GPU'lar için deneysel destek sunar. Ancak DPC ++ (Intel’in SYCL uygulaması), OpenCL'den geçmeden LLVM derleyicisine entegre NVIDIA GPU'lar için tam destek ekleme fırsatı sunar. Codeplay, SYCL geliştiricilerinin NVIDIA GPU'ları hedeflemesini sağlayan uygulamalarının ilk, deneysel aşamasını açık kaynaklı olarak kullandıklarını duyurdu. Bu uygulama için kod temeli kalır ayrı bir çatal hem ana LLVM derleyici projesinden hem de DPC ++ dalından. Kuruluş, yukarı akış Intel / LLVM derleyicisine eklenen NVIDIA GPU desteğini almak için Intel ile çalışmayı planladıklarını ekledi.

Geliştiriciler NVIDIA GPU'lar İçin SYCL Desteğinden Nasıl Yararlanabilir?

Bu proje, geliştiricilerin sistemdeki OpenCL katmanından geçmek zorunda kalmadan SYCL kodunu kullanarak NVIDIA GPU'ları hedeflemesini sağlar. Başka bir deyişle, yalnızca bir NVIDIA GPU ile geliştiriciler, SYCL uygulamalarını derlemek için sistemlerinde DPC ++ çalıştırabilirler. Ayrıca, mevcut herhangi bir CUDA Uygulaması CUDA desteği kullanılarak aşamalı olarak SYCL'ye taşınabilir ve ardından CUDA olmayan bir platformda çalıştırılabilir. Bu açıkça çok zaman ve tekrarlanan çabalardan tasarruf sağlar.

Codeplay, DPC ++ için NVIDIA arka ucunun nasıl kullanılacağını açıklayan proje README dosyasında talimatlar sunmuştur. Geliştiricilerin derleme sırasında bazı işaretler kullanmaları ve çalışma zamanının hangi cihazı hedefleyeceğini bilmesini sağlamak için cihaz seçicilerini ayarlamak için bazı kodlar kullanmaları gerekir. Özellikle ' NVIDIA CUDA desteğiyle SYCL araç zinciri oluşturun 'Ve Clang derleyici seçeneklerinde özel talimatlar .

Codeplay, projeyi bir Titan RTX GPU'da CUDA 10.1 kullanarak Ubuntu 18.04 ile başarılı bir şekilde çalıştırdıklarını doğruladı (hesaplama yetenekleri 7.5). Ekip, SM 5.0 veya üstü ile uyumlu herhangi bir NVIDIA GPU ile diğer Linux sürümlerinde de çalışması gerektiğini garanti eder. Ancak, derlenen SYCL uygulaması, aynı anda ikisini birden değil, yalnızca CUDA veya OpenCL'yi hedefleyebilecektir.