For bare fem år siden var Intel stolte over at kunne tilbyde en ensartet og traditionel programmeringsmodel baseret på x86-kompatible instruktioner. Denne model dækkede mobile systemer baseret på SoC Atom, beregningsacceleratorer som Xeon Phi (tidligere kendt som Larrabee) og processorer. I dag er påstanden "x86 er alt for os" ikke længere relevant for virksomheden. Intel vil snart have unikke diskrete grafiske arkitekturer, og de har allerede introduceret processorer til arbejde med neurale netværk. For at programmere til de nye platforme og rammer kræver Intel en ny programmeringsmodel, som også skal være ensartet.

For nylig i London ved Intel Software Technology arrangementet, præsenterede de en sådan model. Den nye ensartede programmeringsmodel udvikles under projektet "One API". Ifølge projektet bliver det lettere at programmere for hele spektret af Intel's løsninger og platforme, uanset hvilken platform der vælges. Som Bill Savage, vicepræsident for Intel og generel leder for Compute Performance Developer Products, sagde: "Målet med projektet 'One API' er at give udviklere et værktøjssæt, der tilbyder en ensartet programmeringsmodel og forenkler oprettelsen af arbejdsbyrder for forskellige arkitekturer. Efterhånden som vores beregningsmuligheder udvikler sig, hvilket nu inkluderer specialiserede acceleratorer, vil Intel tilbyde softwareløsninger, som gør det muligt for udviklere at maksimere ydeevnen fra deres hardware."
Et friskt eksempel på mulighederne for at arbejde med forskellige arkitekturer er udviklingsværktøjerne i Intel Distribution of OpenVINO Toolkit. Vi har gentagne gange om dette værktøj, der tilbyder ensartede, optimerede muligheder for dyb læring for alle Intel SVMS-arkitekturer (skalar, vektor, matrix, rumlig). Dette betyder, at OpenVINO gør det muligt at udvikle programmer til almindelige, grafiske, neurale processorer og FPGA'er. One API-projektet vil muliggøre det samme ved direkte programmering og gennem API, men i større omfang og lidt enklere, hvilket vil udtrykkes f.eks. i fritagelse for behovet for at opretholde separate kildedata, forskellige programmeringssprog samt forskellige værktøjer og arbejdsgange.
»Direkte programmering: One API-projektet omfatter et nyt sprog til direkte programmering, Data Parallel C++ (DPC++), som tilbyder et åbent, branchebredt alternativ til proprietære programmeringssprog til specifikke arkitekturer. DPC++ er baseret på C++, og sproget bruger SYCL*-modellen fra The Khronos Group. Desuden implementeres der støtte til sproget udvidelser, der udvikles inden for det åbne fællesskab«.
Programmering med brug af API vil give unikke biblioteker til forskellige typer arbejdsbelastninger med understøttelse af hardwareacceleration. Biblioteksfunktioner udvikles til hver målarkitektur. For analyse og debugging skabes udvidede versioner af værktøjer med DPC++-understøttelse og SVMS-arkitekturer. Lad os tilføje, at beta-versionen af værktøjerne til udviklere og yderligere information om One API-projektet forventes i fjerde kvartal af 2019.
Kilde: 3dnews.ru
