PoCL 1.6, atsevišķa OpenCL standarta ieviešana

Programmas palaišana jaunā projekta versija PoCL 1.6 (Portable Computing Language OpenCL) no 1.6 versijas galvenajiem aspektiem ir atbalsts Clang / LLVM 11.0, kā arī paveiktais darbs, lai uzlabotu CUDA veiktspēju un funkcijas, uzlabotu saderību ar PowerPC un uzlabotu OpenCL atkļūdošanas izmantošanu.

Tiem, kas PoCL nav pazīstami, jums jāzina, kas tas ir pārnēsājama atvērtā koda ieviešana (licencējusi MIT) saskaņā ar OpenCL standartu (1.2. Atbalsta dažas 2.0 funkcijas). Kā arī tā ir vairāku ierīču atvērtā koda OpenCL ieviešana (patiesi neviendabīga) viegli pārnēsājama, šī projekta galvenais mērķis ir uzlabot ar OpenCL saderīgu ierīču daudzveidību sadarbspēju, integrējot tās vienā centralizēti organizētā platformā.

Turklāt viens no galvenajiem ilgtermiņa mērķiem ir uzlabot OpenCL programmu veiktspējas pārnesamību ierīču tipos, kuros tiek izmantoti izpildlaika un kompilēšanas paņēmieni.

OpenCL kodola kompilators ir balstīts uz LLVM, un Clang tiek izmantots kā saskarne OpenCL C. Lai nodrošinātu pietiekamu veiktspēju un pārnesamību, OpenCL kodola kompilators var ģenerēt kombinētas funkcijas, kas koda izpildes paralēlizēšanai var izmantot dažādus aparatūras resursus, piemēram, VLIW superskalārs, SIMD, SIMT, daudzkodolu un daudzvītņu. Ir atbalsts ICD (Installable Client Driver) draiveriem. Ir aizmugures, lai nodrošinātu darbu, izmantojot CPU, ASIP (TCE / TTA), GPU, pamatojoties uz HSA arhitektūru, un NVIDIA GPU (CUDA).

Galvenās jaunās PoCL 1.6 funkcijas

Šī jaunā PoCL 1.6 versija uzsver spēju apkopot šo ieviešanu ar kompilēšanas laikā iespējotiem ierīces draiveriem, kā arī ierīces pieejamība tiks pārbaudīta startēšanas laikā (iepriekš sistēmām, uz kurām ir izveidota un darbojas PoCL, vajadzēja būt tā paša kontrollera atbalsts). Ieviesta iespēja izmantot conda pakotņu pārvaldnieku, lai izplatītu PoCL bināros paketes ar CUDA atbalstu Linux-x86_64 un Linux-ppc64le sistēmām.

Vēl viena izceļa ir LLVM 11 atbalsts kopā ar paplašinātajām iespējām atkļūdot OpenCL kodu, izmantojot CPU kontrolieri.

Turklāt jāatzīmē, ka tika veikta CUDA aizmugures veiktspējas optimizācija, kas ievērojami racionalizēja darbības, kas saistītas ar vietējās atmiņas izmantošanu (FFT, GEMM).

Etaloni, izmantojot SHOC etalonus (kas tagad tiek pastāvīgi pārbaudīti, liecina, ka šo optimizāciju rezultāts bija daudz labāks, it īpaši attiecībā uz etaloniem, kas saistīti ar vietējo atmiņu, piemēram, FFT un GEMM, salīdzinot ar iepriekš minēto atsauci. PoCL tagad bieži sasniedz konkurētspējīgu sniegumu ar Nvidia patentēto OpenCL vadītājs). Mēs atzinīgi vērtējam ieguldījumu atlikušo problēmu jomu pamatcēloņu noteikšanā un novēršanā. Mēs atzinīgi vērtējam arī ieguldījumu, lai uzlabotu OpenCL 1.2 / 3.0 standartu funkciju pārklājumu.

  • PoCL veiktspēja daudzos testos tagad ir tuvu NVIDIA patentētajam OpenCL draiverim.
  • Pievienots kompilācijas parametrs HARDENING_ENABLE, lai kompilatora opcijas ļautu izveidot drošāku libpocl.so par veiktspējas pasliktināšanās cenu.
  • Atgriezts atbalsts PowerPC 8/9 sistēmām, kurām OpenCL ieviešanas līmenis, izmantojot pthread un CUDA ierīces, atbilst CUDA līmenim x86_64 sistēmās.
  • Mainīts ABI CUDA kodoliem, kas izmanto __ lokālos blokus. Pēc jaunināšanas lietotājiem ir jāizdzēš pocl kešatmiņa.
  • Noņemts atbalsts SINGLE_LLVM_LIB būvēšanas opcijai, nevis STATIC_LLVM un llvm-config, lai noteiktu, kurām bibliotēkām piesaistīties.

Visbeidzot, ja vēlaties uzzināt vairāk par šo jauno versiju, varat pārbaudīt informāciju sākotnējā sludinājumā. 

Lai gan tiem, kas vēlas uzzināt vairāk par šo ieviešanu, viņi var konsultēties oficiālajā tīmekļa vietnē no tā, kur jūs varat atrast dokumentāciju un lejupielādēt failus.

Projekta kods tiek izplatīts ar MIT licenci, un darbs tiek atbalstīts platformās X86_64, MIPS32, ARM v7, AMD HSA APU un dažādos specializētos TTA procesoros ar VLIW arhitektūru.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.