OpenCL standardının bağımsız bir uygulamasıyla PoCL 3.1 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ı grafik ve merkezi türlerde yürütmek için çeşitli arka uçların kullanımına izin veren PoCL 3.1 (Taşınabilir Bilgi İşlem Dili OpenCL) projesinin bir sürümü sunuldu. işlemciler. 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:

  • Clang/LLVM 15.0 desteği eklendi.
  • Значительно улучшена поддержка промежуточного представления шейдеров SPIR-V для драйверов, использующих CPU и CUDA.
  • Значительно переработан драйвер для специализированного аппаратного обеспечения (CL_DEVICE_TYPE_ACCELERATOR) и собственных устройств (CL_DEVICE_TYPE_CUSTOM), не поддерживающих online-компиляцию. Драйверы accel и ttasim объединены в новый драйвер AlmaIF.
  • Продолжена работа над драйвером для графического API Vulkan.
  • Предложена базовая реализация расширения cl_khr_command_buffer, позволяющего записать последовательность команд OpenCL для их выполнения одним вызовом.

Kaynak: opennet.ru

Yorum ekle