Yekun OpenCL 3.0 spesifikasiyaları nəşr olundu

OpenGL, Vulkan və OpenCL ailə spesifikasiyalarının hazırlanmasına cavabdeh olan Khronos konserni, объявил yekun spesifikasiyaların dərc edilməsi haqqında OpenCL 3.0, çoxnüvəli CPU, GPU, FPGA, DSP və digər ixtisaslaşmış çiplərdən istifadə edərək, superkompüterlərdə və bulud serverlərində istifadə edilənlərdən tutmuş mobil cihazlarda tapıla bilən çiplərə qədər platformalararası paralel hesablamaların təşkili üçün API-lərin və C dilinin genişləndirilməsinin müəyyən edilməsi. quraşdırılmış texnologiya. OpenCL standartı tamamilə açıqdır və lisenziya haqqı tələb etmir.

Eyni zamanda nəşr olundu OpenCL SDK-nı alətlər, nümunələr, sənədlər, başlıq faylları, C++ bağlamaları və OpenCL 3.0 ilə uyğun proqramların hazırlanması üçün C kitabxanaları ilə açın. Həmçinin ilə təmsil olunur LLVM-nin əsas strukturuna daxil edilmək üçün yamaqların nəzərdən keçirilməsi mərhələsində olan Clang kompilyatoru əsasında OpenCL 3.0-ın ilkin tətbiqi. Standart üzərində işdə IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments və Toshiba kimi şirkətlər iştirak edib.

Yekun OpenCL 3.0 spesifikasiyaları nəşr olundu

Ən diqqətəlayiq xüsusiyyətləri OpenCL 3.0:

  • OpenCL 3.0 API indi hər versiya üçün ayrıca spesifikasiyalar təqdim etmədən OpenCL-in bütün versiyalarını (1.2, 2.x) əhatə edir. OpenCL 3.0, OpenCL 1.2/2.X-in monolit təbiətini bloklamadan seçimlər şəklində qatlanacaq əlavə spesifikasiyaların inteqrasiyası vasitəsilə əsas funksionallığı genişləndirmək imkanı verir.
  • Yalnız OpenCL 1.2 ilə uyğun gələn funksionallıq məcburi elan edilir və OpenCL 2.x spesifikasiyalarında təklif olunan bütün funksiyalar isteğe bağlı olaraq təsnif edilir. Bu yanaşma OpenCL 3.0 ilə uyğun gələn fərdi tətbiqlərin yaradılmasını asanlaşdıracaq və OpenCL 3.0-ın istifadə oluna biləcəyi cihazların çeşidini genişləndirəcək. Məsələn, istehsalçılar xüsusi OpenCL 3.0.x xüsusiyyətlərini tətbiq etmədən OpenCL 2 dəstəyini həyata keçirə bilərlər. Əlavə dil xüsusiyyətlərinə daxil olmaq üçün OpenCL 3.0 ayrı-ayrı API elementlərinin dəstəyini, həmçinin xüsusi makroları qiymətləndirməyə imkan verən test sorğuları sistemini əlavə etdi.
  • Əvvəllər buraxılmış spesifikasiyalarla birləşmə tətbiqlərin OpenCL 3.0-a köçürülməsini asanlaşdırır. OpenCL 1.2 proqramları heç bir dəyişiklik olmadan OpenCL 3.0-ı dəstəkləyən cihazlarda işləyə biləcək. OpenCL 2 mühiti tələb olunan funksionallığı təmin etdiyi müddətcə, OpenCL 3.0.x tətbiqləri də kod dəyişiklikləri tələb etməyəcək (gələcək daşınma qabiliyyətini təmin etmək üçün OpenCL 2.x proqramlarına OpenCL 2.x xüsusiyyətlərinə dəstəyi qiymətləndirmək üçün test sorğuları əlavə etmək tövsiyə olunur. istifadə olunur). OpenCL tətbiqləri ilə sürücü tərtibatçıları məhsullarını asanlıqla OpenCL 3.0-a təkmilləşdirə, müəyyən API zəngləri üçün yalnız sorğuların işlənməsini əlavə edə və zamanla funksionallığı tədricən artıra bilərlər.
  • OpenCL 3.0 spesifikasiyası Vulkan API tərəfindən də istifadə edilən SPIR-V ümumi ara təqdimatının mühiti, genişləndirmələri və spesifikasiyası ilə uyğunlaşdırılıb. SPIR-V 1.3 spesifikasiyası üçün dəstək əlavə xüsusiyyət kimi əsas OpenCL 3.0-a daxil edilmişdir. Aralıq təmsilçiliyin istifadəsi ilə SPIR-V hesablama nüvələri üçün alt qruplarla əməliyyatlar üçün dəstək əlavə edildi.
    Yekun OpenCL 3.0 spesifikasiyaları nəşr olundu

  • Birbaşa yaddaş çıxışı olan DSP kimi çiplərdə dəstəklənən asinxron DMA əməliyyatlarını (Asinxron DMA) yerinə yetirmək üçün genişləndirmə üçün əlavə dəstək. Asinxron DMA, hesablamalar və ya digər məlumat ötürmə əməliyyatları ilə paralel olaraq qlobal və yerli yaddaş arasında məlumatları asinxron şəkildə ötürmək üçün DMA əməliyyatlarından istifadə etməyə imkan verir.
  • C Paralel Proqramlaşdırma Genişləndirilməsi spesifikasiyası yeniləndi versiya 3.0, və C++ üçün OpenCL dil genişləndirmələrinin inkişafı “OpenCL üçün C++” layihəsinin xeyrinə dayandırıldı. OpenCL üçün C++, Clang/LLVM və əsasında tərtibatçıdır yayım C++ və OpenCL C ləpələrini SPIR-V aralıq təmsilçiliyinə və ya aşağı səviyyəli maşın koduna çevirir. Yayım vasitəsilə SPIR-V həmçinin paralel proqramların yaradılmasını asanlaşdıran SYCL şablon kitabxanasından istifadə edərək C++ proqramlarının yığılmasını təşkil edir.

    Yekun OpenCL 3.0 spesifikasiyaları nəşr olundu

  • OpenCL-in Vulkan API vasitəsilə yayımlanması üçün kompilyator təklif edilmişdir clspv, OpenCL ləpələrini Vulkan SPIR-V təmsilinə və təbəqəyə çevirən clvk OpenCL API-nin Vulkan üzərində işləməsini təmin etmək.

    Yekun OpenCL 3.0 spesifikasiyaları nəşr olundu

Mənbə: opennet.ru

Добавить комментарий