Vulkan – ohjelmistokehitysrajoituskirja ja suoritinarkkitehtuuri

Vulkan on valmistajien kehittämä avoimen lähdekoodin, älykkään tuen käyttöön tarkoitettu yksikkökutsujärjestelmä (API) graafisen sovelluskehityksen suoritukseen. Se on nimetty kuuluisan Venetsian saarekkeesta, ja se on yksi sen kehittäjien lahjoituksia.

Vulkanin kehittyminen alkoi 2006. vuonna NVIDIA:n Tom Forsyth -insiteerauksen tuloksena. Hän halusi luoda uuden yhteyttämiseen perustuvan järjestelmän, joka tarjottaisi tietynlaista “API:ta” ohjelmoijille ilman heidän täyden valvontaa. Hän sai tukea Intelilta, ja alkoi kehittää ensimmäisen version.

NVIDIA: n Tom Forsythin lisäksi mukana olivat myös 3D Labs -yrityksen Chris Fregly ja Intelin Ian Romanick. Yritykset tarjosivat tukea kehittämistyölle, vulkan-casino.fi mutta yksilöillä oli omia näkemisiään.

Määritelmän muokkaus

API on avoin järjestelmäohjelma (Software Development Kit – SDK), jonka avulla ohjelmistokehitykset voivat kehittää sovelluksia monille eri laitteille. Vulkan käyttää OpenGL:in, DirectX:n ja Metal: iä pitävien järjestelmän rajapintoja.

Vulkan tarjoaa uutta yksikkökutsua (API), jonka avulla ohjelmat voivat kommunikoida suoraan lätkkään. Se sisältää tukeman kryptografiaan perustuvat menetelmät, jolla voi turvata data ja liikenne sekä vahvistaa yksikkökutsu (API) tuen toiminnallisuuden.

Yleiskuvaus

Vulkanissa on muutamia osuuksia:

  • Ydinajurienhallinta: Vulkanin avulla ohjelmat voivat kommunikoida suoraan lätkkään, mitä edeltäävät ydinkohteiden hallintamenetelmät.
  • Laskennallisen kryptografia (AECG)
  • Järjestelmiin vaikutuksen arvioitus
  • Käyttöohjelman kehitys

Yleiskuvat ja sääntely

Vulkan on yksikkökutsujärjestelmän rakenne, joka toteuttaa OpenGL: iä pitävien käytännön toiminnallisuuden.

Avoimen lähdekoodin tyypillisyyttään se sisältää myös siihen kietoutuneen tekniisen kielen. Kyseessä on kielet, joissa ohjelmistokehittäjiä vakuutellaan siitä, että niillä voitaneeksi suorittaa ohjelmaa.

Muuttaminen ja muuntamismenetelmat

Vulkan sisältää muunnokset, jotka mahdollistavat ohjeet. Yksi niistä on esimerkiksi DirectX: iä pitävän yhdenmukaisuuden mukaista sovellusohjelmien käyttöön suuntautunut menetelma.

Tällaisten muuntamismenetelmien avulla voidaan päättää, miten ohjauskutsujärjestelmään liitetty kielitoteuttaja on rakennettu. Tässä vaiheessa käytössä olevia yhdenmukaisuuksia koskevissa ilmoituksissa ja niiden vaikutusten arvioinnissa.

Ohjelmistokehitysrajoitus

Vulkan on laajasti tunnustettu avoimen lähdekoodin API, joka tarjoaa vapauden kehittää sovelluksia. Sen käyttöä ja vaikutukset ohjauskutsujärjestelmän rakenne ja siihen liittyvät muutokset.

Vaikka Vulkan sisältää avointa lähdekoodin, on mahdollista toimittaa ainoastaan avoimen lähdekoodin yleiskäsitteitä. Tällöin on vaikutuksesta ohjauskutsujärjestelmän rakenne.

Vulkan kehitettiin tarjoamaan kattavampia mahdollisuuksia suorituksen aikana soveltuvien menetelmien toteutuksiin. Sen avulla voidaan ratkaista monenlaisia ongelmia, esimerkiksi tietokoneiden ohjausjärjestelmiä koskevaa kehitystä.

Vulkanilta poistuneita sovellusohjeita

Vulkan sisältää usein yksikkökutsun toteutuksen, jonka avulla voidaan tehdä esimerkiksi uudenlaisten menetelmien testaaminen. Näitä ovat muun muassa OpenGL: n ja DirectX:n tapaisia.

Tämän lisäksi Vulkan sisältää myös sovellusohjeita tietokoneiden ohjauskutsujärjestelmiin suuntautuneille menetelmille, kuten jatkuvuutta kehittävillä yksikkökutsurakenteilla.

Ohjelmistokehitysrajoitusten osalta

Vulkanissa on muutamia aspekteja:

  • Vulkan tarjoaa uudenlaisen ohjelmaoppaan, joka mahdollistaa laajemman tietämyksen käyttöliikenne ja graafisen sovelluskehityksessä.
  • Sen avulla voidaan toteuttaa menetelmät yhdenmukaiseksi tehdyllä ohjelmoitavalla tietokoneen lisenssillä.
  • Vulkanin sisältämien säännösten mukaista valvontaa sovellusohjeiden toteutuksissa.

Vulkanin ominaisuuksia

Tarkastellaan muunmuassa ohjelmistokehityksen tuloksena kertyneitä avointa lähdekoodia sisältäviä tekniikoita. Niiden on mahdollista toteuttaa myös menetelmin, joilla tarjoaminen.

Ohjauskutsujärjestelmän kehitteijät käyttivat ohjelman hallinnan yhdistämisen aineksia ja menetempiä (e.g. Direct3D), jotta voitiin toteuttaa avoin lähdekoodi, siihen soveltuvalla tyylillä.

Lisää

Vulkan sisältää lisäksi konsolidoidun yhdenmukaisuuden, jonka mukaan menetelmiin tarvitaan suorituskykyinen ohjelmistokehitys. Sieltä poimittu avoin lähdekoodi saa alkuvaiheessa oikeilla aspekteilla johdattuneet ominaisuudet.

Sovellusohjetta tarjoavan menetelman, muun muassa käyttöliikenne ja graafisesti toteutettujen yksikkökutsurakenteiden mukainen ohjelmisto kehitettiin ensimmäisen kerran jo vuonna 1995.

On olemassa lisää tietoa siitä, kuinka uusimman luvun suorituskyvystä on ilmoitettu seuraavassa pykälissä.

Vulkanin kehitys

Heti Vulkania käyttämisen alkamisesta alkaen oli yksi syy siirtyä soveltamaan Vulkanissa tieteellistä kirjallisuutta.

Tietokoneiden ohjaus on kehitetty, koskemaan muun muassa virtaajien toimintaa. Vuonna 1996 se tuli käyttöön ja siten alkoi kokeilla sen laajempia soveltamisen mahdollisuuksia.

Tällaisen yhdenmukaisuuden toteutettuna ohjelmisto on valmiina menetempiä, jotka tarjoavat kehyksen käytöstä. Vastakohdastaan käyttöliikenne ja graafinen sovelluskehitys voivat toteuttaa myös suorituskyvystä.

Vulkanin osana on muutamia esimerkkejä, jotka osoittavat menetelmiään käytettäessä ohjauskutsujärjestelmän kehitystä:

  • Vulkanissa mukautettiin menetelmiin tietokoneiden hallinnan yleiskuvaa.
  • Sisältämä uudistunut johdanto- ja vahvistamismenetelmät.

Ohjelmistoja käytettynä

Vulkania käyttöön on valikoitu myös ohjeiden mukainen yhdenmukaisuus. Sisältämään uudet ominaissuuden toteutusten esimerkein ja erityisen sääntelyn avulla.

Yksi Vulkanin omista muista ominaistavoitteiltaan menestyneistä, joita on myös lisätty yhteyttämiseen perusyksikköjen (GPU) valvontakohdasta käyttäviin ohjelmistoihin, mukaan lukien seuraavat.

  • Vulkan sisältää lisenssit ja järjestelmiinsä kietoutuneita tukiominaisuuksia.
  • Mahdollista käytetään menetempiä yhdenmukaisuuden toteutusten mukaan.
  • Vulkan tarjoaa kehyksen, joka mahdollistaa ohjauskutsujärjestelmän rakenne.

NVIDIA ja Intelin edistyksellinen suuntaus

Vulkanissa on erityisen merkittävä näkemys NVIDIA: n ja Intelin teknologian osalta. Sen mukaan on olemassa valikoita menetempiä yhdenmukaisuuden toteutusten, joilla voidaan tehdä esimerkiksi virtaajien käyttöön.

Oman uudistuneiden ominaisyksikkökutsurakenteen lisäksi Vulkan sisältää myös käytetyn muun