OpenCL standardının bağımsız bir uygulamasıyla PoCL 5.0 sürümü

OpenCL standardının grafik hızlandırıcı üreticilerinden bağımsız bir uygulamasını geliştiren ve OpenCL çekirdeklerini farklı türdeki grafik ve merkezi işlemcilerde çalıştırmak için çeşitli arka uçların kullanımına izin veren PoCL 5.0 projesinin (Taşınabilir Bilgi İşlem Dili OpenCL) sürümü yayınlandı. . Proje kodu MIT lisansı altında dağıtılmaktadır. X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU platformları ve VLIW mimarisine sahip çeşitli özel ASIP (Uygulamaya Özel Komut Seti İşlemcisi) ve TTA (Aktarım Tetiklemeli Mimari) işlemcileri üzerinde çalışmayı destekler.

OpenCL çekirdek derleyicisinin uygulaması LLVM temel alınarak oluşturulmuştur ve OpenCL C için ön uç olarak Clang kullanılmıştır. Uygun taşınabilirliği ve performansı sağlamak için OpenCL çekirdek derleyicisi, kod yürütmeyi paralelleştirmek için VLIW, süperskalar, SIMD, SIMT, çok çekirdekli ve çok iş parçacıklı gibi çeşitli donanım kaynaklarını kullanabilen kombinasyon işlevleri oluşturabilir. ICD sürücüleri (Yüklenebilir İstemci Sürücüsü) desteği vardır. CPU, ASIP (TCE/TTA), HSA mimarisine dayalı GPU ve NVIDIA GPU (libcuda aracılığıyla) aracılığıyla çalışmayı destekleyen arka uçlar vardır.

Yeni sürümde:

  • OpenCL komutlarının işlenmesini, arka plan pocld işlemini çalıştıran ağdaki diğer ana bilgisayarlara aktararak dağıtılmış hesaplamayı düzenlemek için tasarlanmış yeni bir "Uzak" arka uç uygulandı.
  • CUDA sürücüsü, atomik işlemler, kapsamlı değişkenler, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier ve sub_group_ballot gibi OpenCL 3.0'ın ek özelliklerini ve uzantılarını uygular.
  • RISC-V mimarisine dayalı CPU'lar için geliştirilmiş destek. PoCL çalışması, LLVM 2 ve GCC 23.10 ile Ubuntu 17 ortamı yüklü Starfive VisionFive 13.2 kartında test edildi.
  • cl_ext_float_atomics uzantısı FP32 ve FP64 desteğiyle uygulandı.
  • cl_khr_command_buffer uzantısının uygulaması 0.9.4 sürümüne güncellendi.
  • FPGA'ler için deneysel bir AlmaIF arka ucu önerildi.
  • SPIR 1.x/2.0 gölgelendiricilerin ara temsili için eksik destek kaldırıldı. SPIR-V, önerilen ara gölgelendirici dili olarak bildirildi.
  • Clang/LLVM 17.0 desteği eklendi. Clang/LLVM 10-13 desteği kullanımdan kaldırıldı.

Kaynak: opennet.ru

Yorum ekle