Nihai OpenCL 3.0 spesifikasyonları yayınlandı

OpenGL, Vulkan ve OpenCL ailesi spesifikasyonlarının geliştirilmesinden sorumlu olan Khronos endişesi, объявил Nihai spesifikasyonların yayınlanması üzerine OpenCL 3.0süper bilgisayarlarda ve bulut sunucularında kullanılanlardan mobil cihazlarda bulunabilen çiplere kadar çok çekirdekli CPU'lar, GPU'lar, FPGA'ler, DSP'ler ve diğer özel çipleri kullanarak platformlar arası paralel hesaplamayı düzenlemek için C dilinin API'lerini ve uzantılarını tanımlayan ve yerleşik teknoloji. OpenCL standardı tamamen açıktır ve lisans ücreti gerektirmez.

Aynı anda yayınlanan OpenCL 3.0 ile uyumlu uygulamalar geliştirmek için araçlar, örnekler, belgeler, başlık dosyaları, C++ bağlamaları ve C kitaplıkları içeren OpenCL SDK'yı açın. Ayrıca представлена Clang derleyicisini temel alan OpenCL 3.0'ın ilk uygulaması, LLVM'nin ana yapısına dahil edilmek üzere yamaların gözden geçirilmesi aşamasındadır. Standartla ilgili çalışmalara IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ve Toshiba gibi şirketler katıldı.

Nihai OpenCL 3.0 spesifikasyonları yayınlandı

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.
    Nihai OpenCL 3.0 spesifikasyonları yayınlandı

  • 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.

    Nihai OpenCL 3.0 spesifikasyonları yayınlandı

  • 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.

    Nihai OpenCL 3.0 spesifikasyonları yayınlandı

Kaynak: opennet.ru

Yorum ekle