OpenCL 3.0 spesifikasyonu tanıtıldı

OpenGL, Vulkan ve OpenCL ailesi spesifikasyonlarının geliştirilmesinden sorumlu olan Khronos endişesi, объявил süper bilgisayarlarda ve bulut sunucularında kullanılanlardan çok çekirdekli CPU'lar, GPU'lar, FPGA'ler, DSP'ler ve diğer özel yongaları kullanarak platformlar arası paralel hesaplamayı düzenlemek için C dilinin API'lerini ve uzantılarını tanımlayan OpenCL 3.0 spesifikasyonlarının geliştirilmesinin tamamlanması üzerine mobil cihazlarda ve gömülü teknolojide bulunabilen çiplere. OpenCL standardı tamamen açıktır ve lisans ücreti gerektirmez. Standartla ilgili çalışmalara IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ve Toshiba gibi şirketler katıldı.

Şu anki aşamada, spesifikasyona geçici durum atanmıştır; bu, aracılığıyla gönderilen geri bildirimlere dayalı olarak iyileştirme olasılığını ima eder. GitHub. Yorumlar dikkate alındıktan sonra spesifikasyon sonlandırılacak ve mevcut uygulamaların uyumluluğunu test etmek için son bir test paketi yayınlanacak.

OpenCL 3.0 spesifikasyonu tanıtıldı

En dikkate değer özellikler OpenCL 3.0:

  • OpenCL 3.0 API artık her sürüm için ayrı özellikler sağlamadan OpenCL'in (1.2, 2.x) tüm sürümlerini kapsamaktadır. OpenCL 3.0, OpenCL 1.2/2.X'in yekpare doğasını engellemeden, seçenekler şeklinde katmanlanacak ek spesifikasyonların entegrasyonu yoluyla temel işlevselliği genişletme yeteneği sağlar.
  • Yalnızca OpenCL 1.2 ile uyumlu işlevsellik zorunlu olarak bildirilir ve OpenCL 2.x spesifikasyonlarında önerilen tüm özellikler isteğe bağlı olarak sınıflandırılır. Bu yaklaşım, OpenCL 3.0 ile uyumlu özel uygulamaların oluşturulmasını kolaylaştıracak ve OpenCL 3.0'ın kullanılabileceği cihaz yelpazesini genişletecektir. Örneğin üreticiler, belirli OpenCL 3.0.x özelliklerini uygulamadan OpenCL 2 desteğini uygulayabilirler. İsteğe bağlı dil özelliklerine erişmek için OpenCL 3.0, özel makroların yanı sıra bireysel API öğelerinin desteğini değerlendirmenize olanak tanıyan bir test sorguları sistemi ekledi.
  • Daha önce yayımlanan spesifikasyonlarla birleştirme, uygulamaların OpenCL 3.0'a geçişini kolaylaştırıyor. OpenCL 1.2 uygulamaları, OpenCL 3.0'ı destekleyen cihazlarda değişiklik yapılmadan çalışabilecektir. OpenCL 2 ortamı gerekli işlevselliği sağladığı sürece OpenCL 3.0.x uygulamaları da kod değişikliği gerektirmeyecektir (gelecekte taşınabilirliği sağlamak için, OpenCL 2.x uygulamalarının OpenCL 2.x özelliklerine yönelik desteği değerlendirmek üzere test sorguları eklemesi önerilir) Kullanılan). OpenCL uygulamalarına sahip sürücü geliştiricileri, ürünlerini kolayca OpenCL 3.0'a yükseltebilir, yalnızca belirli API çağrıları için sorgu işleme ekleyebilir ve zaman içinde işlevselliği kademeli olarak artırabilir.
  • OpenCL 3.0 spesifikasyonu, Vulkan API tarafından da kullanılan SPIR-V genel ara gösteriminin ortamı, uzantıları ve spesifikasyonlarıyla uyumludur. SPIR-V 1.3 spesifikasyonu desteği, OpenCL 3.0 çekirdeğine isteğe bağlı bir özellik olarak dahil edilmiştir. Bir ara temsilin kullanılması yoluyla SPIR-V bilgi işlem çekirdekleri için alt gruplarla işlemlere yönelik destek eklendi.
    OpenCL 3.0 spesifikasyonu tanıtıldı

  • Doğrudan bellek erişimine sahip DSP benzeri yongalarda desteklenen, eşzamansız DMA işlemlerini (Asenkron DMA) gerçekleştirmek için bir uzantı desteği eklendi. Eşzamansız DMA, hesaplamalara veya diğer veri aktarım işlemlerine paralel olarak, küresel ve yerel bellek arasında eşzamansız olarak veri aktarımı yapmak için DMA işlemlerinin kullanılmasını mümkün kılar.
  • C Paralel Programlama Uzantıları spesifikasyonu şu şekilde güncellendi: versiyon 3.0ve C++ için OpenCL dil uzantılarının geliştirilmesi, “OpenCL için C++” projesi lehine durduruldu. OpenCL için C++, Clang/LLVM'yi temel alan bir derleyicidir ve yayın C++ ve OpenCL C çekirdekleri SPIR-V ara gösterimine veya düşük seviyeli makine koduna dönüştürülür. SPIR-V, yayınlama yoluyla paralel uygulamaların oluşturulmasını kolaylaştıran SYCL şablon kütüphanesini kullanarak C++ uygulamalarının birleştirilmesini de düzenler.

    OpenCL 3.0 spesifikasyonu tanıtıldı

  • Vulkan API aracılığıyla OpenCL yayınlamak için bir derleyici önerildi clspvOpenCL çekirdeklerini Vulkan SPIR-V temsiline ve bir katmana dönüştüren clvk OpenCL API'nin Vulkan üzerinde çalışmasını sağlamak için.

    OpenCL 3.0 spesifikasyonu tanıtıldı

Kaynak: opennet.ru

Yorum ekle