PoCL 1.6, OpenCL стандартын бие даасан хэрэгжилт

Эхлүүлэх төслийн шинэ хувилбар PoCL 1.6 (Зөөврийн тооцоолох хэл OpenCL), 1.6 хувилбарын онцлох үйл явдлууд нь Clang / LLVM 11.0-ийн дэмжлэг, мөн CUDA-ийн гүйцэтгэл, функцийг сайжруулах, PowerPC-тэй нийцтэй байдал, OpenCL дибаг хийх хэрэглээг сайжруулах чиглэлээр хийгдсэн ажил юм.

PoCL-ийг мэдэхгүй хүмүүсийн хувьд энэ нь юу болохыг мэддэг байх ёстой зөөврийн нээлттэй эхийн хэрэгжилт (MIT лицензтэй) OpenCL стандартын (1.2-ийн зарим 2.0 боломжуудтай). Олон төхөөрөмжтэй нээлттэй эхийн OpenCL програм болохын зэрэгцээ (үнэхээр олон янзын) хялбар зөөврийн, энэ төслийн гол зорилго бол OpenCL-т нийцсэн төхөөрөмжүүдийг нэг төвлөрсөн зохион байгуулалттай платформд нэгтгэх замаар тэдгээрийн харилцан үйлчлэлийг сайжруулах явдал юм.

Нэмж дурдахад урт хугацааны гол зорилтуудын нэг бол ажиллах хугацаа, хөрвүүлэх арга техникийг ашигладаг төхөөрөмжийн төрлүүдэд OpenCL програмуудын гүйцэтгэлийн зөөвөрлөлтийг сайжруулах явдал юм.

OpenCL цөмийн хөрвүүлэгч нь LLVM дээр суурилсан бөгөөд Clang нь OpenCL C-ийн интерфэйс болж ашиглагддаг. Тохиромжтой гүйцэтгэл, зөөврийн чадварыг хангахын тулд OpenCL цөмийн хөрвүүлэгч нь кодын гүйцэтгэлийг зэрэгцүүлэхийн тулд янз бүрийн тоног төхөөрөмжийн нөөцийг ашиглаж болох хосолсон функцуудыг үүсгэдэг. , VLIW, superscalar, SIMD, SIMT, олон судалтай, олон урсгалтай гэх мэт. ICD (Installable Client Driver) драйверуудад дэмжлэг байдаг. CPU, ASIP (TCE / TTA), HSA архитектур дээр суурилсан GPU, NVIDIA GPU (CUDA) -аар дамжуулан ажиллуулах арын хувилбарууд байдаг.

PoCL 1.6-ийн үндсэн шинэ шинж чанарууд

PoCL 1.6-ийн энэхүү шинэ хувилбар нь уг хэрэгжилтийг хөрвүүлэх үед идэвхжүүлсэн төхөөрөмжийн драйверуудаар хөрвүүлэх чадварыг онцолж, мөн төхөөрөмжийн бэлэн байдлыг эхлүүлэх үед баталгаажуулна (өмнө нь PoCL-ийг барьж ажиллуулдаг системүүд) тэд ижил хянагчийн дэмжлэгтэй байх ёстой байсан). Линукс-x86_64 ба Linux-ppc64le системийн CUDA дэмжлэгтэйгээр PoCL хоёртын багцыг түгээх conda багцын менежерийг ашиглах чадварыг хэрэгжүүлсэн.

Өөр нэг тод харагдаж байгаа зүйл бол LLVM 11-ийг дэмжиж, CPU хянагч ашиглах үед OpenCL кодыг дибаг хийх боломжийг өргөжүүлсэн явдал юм.

Нэмж дурдахад CUDA арын хэсгийн гүйцэтгэлийн оновчлол хийгдсэн бөгөөд энэ нь орон нутгийн санах ой (FFT, GEMM) ашиглахтай холбоотой үйл ажиллагааг эрс сайжруулсан болохыг тэмдэглэх нь зүйтэй.

SHOC жишиг үзүүлэлтүүдийг ашигладаг жишиг үзүүлэлтүүд (одоо байнга туршиж үздэг) эдгээр оновчлолын үр дүн, ялангуяа FFT, GEMM зэрэг орон нутгийн санах ойтой харьцуулсан жишээнүүдийн гүйцэтгэл илүү үр дүнтэй байгааг харуулж байна. PoCL нь ихэвчлэн Nvidia-ийн эзэмшдэг OpenCL драйвертай өрсөлдөх чадвартай болох боломжтой болсон. Асуудлын үлдсэн хэсгүүдийн шалтгааныг олж тогтоох, арилгахад оруулсан хувь нэмрийг бид баяртай байна. Мөн OpenCL 1.2 / 3.0 стандартын онцлог шинж чанарыг сайжруулах хувь нэмрийг бид баяртай байна.

  • Олон туршилтын PoCL гүйцэтгэл нь одоо NVIDIA-ийн эзэмшдэг OpenCL драйвертай ойролцоо байна.
  • Гүйцэтгэлийн доройтлын өртөгөөр илүү найдвартай libpocl.so-ийг үүсгэх хөрвүүлэгчийн сонголтыг идэвхжүүлэхийн тулд HARDENING_ENABLE хөрвүүлэлтийн параметрийг нэмсэн.
  • Pthread болон CUDA төхөөрөмжүүдийг ашиглахад OpenCL-ийн хэрэгжилтийн түвшин x8_9 систем дээрх CUDA түвшинтэй тохирч байгаа PowerPC 86/64 системүүдийн дэмжлэгийг буцааж өгсөн.
  • __ локал блок ашигладаг CUDA цөмийн ABI-г өөрчилсөн. Сайжруулсны дараа хэрэглэгчид покл кэшийг арилгах хэрэгтэй.
  • STATIC_LLVM болон llvm-config ашиглан аль номын сангуудыг холбохыг тодорхойлохын оронд SINGLE_LLVM_LIB бүтээх тохиргооны дэмжлэгийг устгасан болно.

Эцэст нь, хэрэв та энэхүү шинэ хувилбарын талаар илүү ихийг мэдэхийг хүсвэл дэлгэрэнгүйг шалгаж болно анхны зар дээр. 

Энэхүү хэрэгжилтийн талаар илүү ихийг мэдэхийг хүсч буй хүмүүст зөвлөгөө өгөх боломжтой албан ёсны вэбсайт эндээс баримт бичиг, файл татаж авах боломжтой.

Төслийн кодыг MIT лицензийн дагуу тарааж, ажлыг X86_64, MIPS32, ARM v7, AMD HSA APU платформууд болон VLIW архитектуртай төрөл бүрийн төрөлжсөн TTA процессорууд дээр дэмжиж ажилладаг.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.