GPU NVIDIA Mendapatkan Dukungan SYCL Setelah Codeplay Berkontribusi Untuk Pengembangan Standar DPC ++

Perangkat keras / GPU NVIDIA Mendapatkan Dukungan SYCL Setelah Codeplay Berkontribusi Untuk Pengembangan Standar DPC ++ 2 menit baca

Nvidia



Setelah mendapatkan dukungan dari perusahaan terkemuka seperti Intel, Xilinx, Renesas dan Imagination Technologies, SYCL (dibaca 'sabit'), para pengembang yang menggunakan GPU NVIDIA sekarang akan dapat memperoleh manfaat juga. Codeplay, organisasi yang telah menjadi kontributor aktif Komunitas SYCL, kini memuncak pada pengembangan lanjutan DPC ++ (Data Parallel C ++), yang memfasilitasi daur ulang dan penggunaan kembali kode di beberapa platform perangkat keras. Hasilnya adalah ComputeCpp, Implementasi SYCL dari Codeplay sendiri .

Edisi Terbaru ComputeCpp Menawarkan Dukungan Eksperimental Untuk GPU NVIDIA yang menggunakan OpenCL dan NVIDIA PTX

Tahun lalu, Intel mengambil langkah tegas untuk mendorong SYCL, dan bahkan mulai mengerjakan OneAPI Standard. OneAPI menyertakan DPC ++ (implementasi SYCL dengan ekstensi) untuk CPU, GPU, dan FPGA Intel. Gerakan ini segera menjadi cukup besar dan mendapatkan momentum setelah dukungan untuk SYCL datang dari Xilinx, Renesas, dan Imagination Technologies. Sederhananya, pengembang perangkat lunak sekarang dapat menargetkan berbagai perangkat menggunakan SYCL.



ComputeCpp menawarkan dukungan eksperimental untuk GPU NVIDIA menggunakan OpenCL dan NVIDIA PTX. Tetapi DPC ++ (implementasi SYCL Intel) menawarkan kesempatan untuk menambahkan dukungan penuh untuk GPU NVIDIA yang diintegrasikan ke dalam compiler LLVM tanpa melalui OpenCL. Codeplay mengumumkan bahwa mereka open-sourcing tahap awal eksperimental dari implementasi mereka yang memungkinkan pengembang SYCL menargetkan GPU NVIDIA. Basis kode untuk implementasi ini tetap ada garpu terpisah dari proyek penyusun LLVM utama dan cabang DPC ++. Organisasi tersebut menambahkan bahwa mereka bermaksud untuk bekerja dengan Intel untuk mendapatkan dukungan GPU NVIDIA yang ditambahkan ke kompiler Intel / LLVM hulu.

Bagaimana Pengembang Dapat Memanfaatkan Dukungan SYCL Untuk NVIDIA GPU?

Proyek ini memungkinkan pengembang untuk menargetkan GPU NVIDIA menggunakan kode SYCL, tanpa harus melalui lapisan OpenCL di sistem. Dengan kata lain, hanya dengan GPU NVIDIA, pengembang dapat menjalankan DPC ++ pada sistem mereka untuk mengkompilasi aplikasi SYCL. Selain itu, Aplikasi CUDA apa pun yang ada dapat secara bertahap di-porting ke SYCL menggunakan dukungan CUDA, lalu menjalankannya di platform yang tidak memiliki CUDA. Ini jelas menghemat banyak waktu dan upaya berulang.

Codeplay menawarkan instruksi pada file README proyek yang menjelaskan cara menggunakan NVIDIA back-end untuk DPC ++. Pengembang harus menggunakan beberapa tanda saat mengompilasi, dan beberapa kode untuk menyiapkan pemilih perangkat mereka guna memastikan waktu proses mengetahui perangkat apa yang akan ditargetkan. Secara khusus, bagian ' Bangun toolchain SYCL dengan dukungan untuk NVIDIA CUDA ”Dan opsi compiler Clang miliki instruksi khusus .

Codeplay mengonfirmasi bahwa mereka berhasil menjalankan proyek dengan Ubuntu 18.04 menggunakan CUDA 10.1 pada GPU Titan RTX (kemampuan komputasi 7.5). Tim memastikan bahwa itu juga harus berfungsi pada versi Linux lainnya dengan GPU NVIDIA apa pun yang kompatibel dengan SM 5.0 atau lebih tinggi. Namun, aplikasi SYCL yang dikompilasi hanya akan dapat menargetkan CUDA atau OpenCL, tidak keduanya pada saat yang bersamaan.