CUDA yadrolari va tensor yadrolari o'rtasidagi farq nima? (Tushuntirildi) - Barcha farqlar

 CUDA yadrolari va tensor yadrolari o'rtasidagi farq nima? (Tushuntirildi) - Barcha farqlar

Mary Davis

CUDA va Tensor yadrolari Nvidia deb nomlangan kompaniya tomonidan ishlab chiqilgan mahsulotlardir. Xo'sh, CUDA yadrolari va Tensor yadrolari nima? CUDA qisqartmasi Compute Unified Device Architecture degan ma'noni anglatadi. Nvidia ishlab chiquvchilari aytganidek, CUDA yadrolari GPU, smartfonlar va hatto avtomobillaringizda ham mavjud.

CUDA yadrolari parallel hisoblash platformasi va amaliy dasturlash interfeysi (API) boʻlib, u dasturiy taʼminotga umumiy maqsadlarda ishlov berish uchun muayyan turdagi grafik ishlov berish bloklaridan (GPU) foydalanish imkonini beradi.

Nvidia tomonidan ishlab chiqilgan tenzor yadrolari ham GPUlarda qo'llaniladi. Tensor yadrolari aniqlikni saqlagan holda o'tkazuvchanlikni oshirish uchun hisob-kitoblarni dinamik ravishda moslashtirib, aralash aniqlikdagi hisoblash imkonini beradi.

Oddiy so'z bilan aytganda, bu yadrolar ma'lum hisob-kitoblarni amalga oshirish uchun kompyuteringizdagi GPU-larning muhim qismidir. CUDA yadrolari ikkita raqamni ko'paytirish va ularni boshqa raqamga qo'shish uchun ishlatiladi.

Holbuki, Tensor yadrosi bir xil, lekin 4×4 matritsaga ega. Bu hisob-kitoblar asosan siz uchun grafiklarni tezroq ko'rsatishdir.

CUDA nima?

Hisoblashning yagona qurilma arxitekturasi qisqacha CUDA Nvidia tomonidan ishlab chiqilgan, 2007-yil 23-iyunda chiqarilgan, parallel hisoblash platformasi va amaliy dasturlash interfeysi (API).

Shuningdek qarang: "Ser" va "Ir" o'rtasidagi farq nima? (Tushuntirildi) - Barcha farqlar

Bu. dasturiy ta'minotga umumiy maqsadli ishlov berish uchun maxsus turdagi grafik ishlov berish birliklaridan (GPU) foydalanishga imkon beradi, bu usul umumiy maqsadli hisoblash deb nomlanadi.GPU (GPU).

CUDA dasturiy ta'minot qatlami bo'lib, u GPUning virtual ko'rsatmalar to'plamiga va hisoblash yadrolarini bajarish uchun parallel hisoblash elementlariga to'g'ridan-to'g'ri kirishni ta'minlaydi. CUDA turli dasturlash tillari, jumladan C, C++ va Fortran bilan ishlash uchun ishlab chiqilgan.

Turli dasturlash tillari bilan ishlash qobiliyati parallel dasturlash boʻyicha mutaxassislarga GPU resurslaridan foydalanishni osonlashtiradi, agar biz uni Direct3D yoki OpenGL kabi oldingi APIʼlardan farq qilsak, buning uchun sizdan yanada rivojlangan tillarga ega boʻlishingiz kerak boʻladi. grafik dasturlash bo'yicha ko'nikmalar bazasi.

CUDA bilan GPU, shuningdek, OpenMP, OpenACC, OpenCL kabi dasturlash ramkalarini, shuningdek, CUDA-ga bunday kodni kompilyatsiya qila oladigan HIP-ni qo'llab-quvvatlaydi. CUDA uchun ishlatiladigan birinchi nom Compute Unified Device Architecture qisqartmasi edi. Biroq, Nvidia keyinchalik tez-tez ishlatiladigan qisqartmani olib tashladi.

Kuchli Nvidia Grafik kartasi GTX 1080 Ti

CUDA haqida batafsil

Ixtisoslashgan kompyuter protsessori sifatida grafik ishlov berish bloki (GPU) haqiqiy talablarga javob beradi. -vaqt, hisoblash intensiv 3D grafik ish yuklari.

Taxminan 2012 GPUlar rivojlandi va katta bloklar uchun ma'lumotlarni samarali qayta ishlash imkonini beruvchi juda parallel ko'p yadroli tizimlarga aylandi.

Shuningdek qarang: Homilador oshqozon yog'li oshqozondan qanday farq qiladi? (Taqqoslash) - Barcha farqlar

Ulkan ma'lumotlar bloklarini parallel ravishda qayta ishlashda ushbu dizayn algoritmlar uchun umumiy maqsadli markaziy protsessorlardan (CPU) ustundir, masalan:

  • kriptografik xeshfunktsiyalari
  • mashinani o'rganish
  • molekulyar dinamikani simulyatsiya qilish
  • fizika dvigatellari
  • sartlash algoritmlari

CUDA arxitekturasidan hozir foydalanish va Kelajakda

  • 3D grafiklarni tezlashtirilgan renderlash
  • Video fayl formatlarini tezlashtirilgan o'zaro konversiyalash
  • Tezlashtirilgan shifrlash, shifrni ochish va siqish
  • Bioinformatika, masalan, NGS DNK ketma-ketligi BarraCUDA
  • Oqsillarning tabiiy moslashuvini bashorat qilish kabi taqsimlangan hisoblar
  • Tibbiy tahlil simulyatsiyalari, masalan, KT va MRI skanerlash tasvirlari asosida virtual haqiqat
  • Jismoniy simulyatsiyalar, xususan suyuqliklar dinamikasida
  • Mashinalarni o'rganish muammolari bo'yicha neyron tarmoqlarni o'qitish
  • Yuzni tanish
  • Taqsimlangan hisoblash loyihalari, masalan, [email protected] va boshqa loyihalar BOINC
  • Molekulyar dinamika
  • Kriptovalyutalarni qazib olish
  • Harakatdan tuzilma (SfM) dasturi

Tensor yadrosi nima?

Tensor yadrolari deb ataladigan ixtisoslashtirilgan yadrolar aralash aniqlikda mashq qilish imkonini beradi. Ushbu ixtisoslashgan yadrolarning dastlabki avlodi buni birlashtirilgan ko'paytirish-qo'shish algoritmi bilan amalga oshiradi. Bu 4 x 4 FP16 yoki FP32 matritsalariga ikkita 4 x 4 FP16 matritsalarini ko'paytirish va qo'shish imkonini beradi.

Yakuniy natija FP32 bo'ladi, faqat bir oz aniqlik yo'qoladi, aralash aniqlikdagi hisoblashlar shunday deb belgilangan bo'lsa hamkirish matritsalari past aniqlikdagi FP16 bo'lishi mumkin.

Amalda bu modelning yakuniy samaradorligiga ozgina ta'sir ko'rsatgan holda hisob-kitoblarni sezilarli darajada tezlashtiradi. Bu sig'im keyingi mikroarxitekturalar tomonidan yanada aniqroq kompyuter raqamlarini ko'rsatishgacha kengaytirildi.

Birinchi avlod Volta mikroarxitekturasi bilan V100 dan boshlab taqdim etildi, har bir avlod yangi GPU mikroarxitekturalari bilan hisoblash uchun ko'proq kompyuter raqamlari aniq formatlari taqdim etildi.

Biz keyingi bo'limda har bir mikroarxitektura avlodi bilan Tensor yadrolarining sig'imi va funksionalligi qanday o'zgargani va yaxshilangani haqida gaplashamiz.

Titan V tomonidan yaratilgan grafik tasvir

Tensor yadrolari qanday ishlaydi?

Birinchi avlod:

Volta GPU mikroarxitekturasi Tensor yadrolarining birinchi avlodiga kiritilgan. Ushbu yadrolar aralash aniqlik va FP16 raqam formatida mashq qilish imkonini berdi.

Bu ma'lum grafik protsessorlar uchun teraFLOP o'tkazish qobiliyatini 12 baravar oshirishi mumkin. Yuqori darajadagi V100 ning 640 yadrosi oldingi avlod Paskal grafik protsessorlariga nisbatan ishlash tezligini 5 baravar oshirish imkonini beradi.

Ikkinchi avlod:

Tyuring GPU-larining kiritilishi bilan Tensor yadrolarining ikkinchi avlodi taqdim etildi. Int8, Int4 va Int1 qo'llab-quvvatlanadigan Tensor Core aniqliklari ro'yxatiga qo'shildi.ilgari FP16 bilan cheklangan.

Aralash aniqlikdagi o'qitish protseduralari tufayli GPU ning ishlash qobiliyati Paskal GPUlariga nisbatan 32 baravarga oshdi.

Uchinchi avlod:

Amper grafik protsessoridagi arxitektura FP64, TF32 va bfloat16 aniqliklarini qoʻshish orqali Volta va Turing mikroarxitekturalarining oldingi yutuqlarini kengaytiradi.

Bu qoʻshimcha aniq formatlar yordamida chuqur oʻrganish va xulosa chiqarish faoliyati ancha tezlashadi. Misol uchun, TF32 formati FP32ga o'xshash ishlaydi va shu bilan birga hech qanday kodni o'zgartirmasdan 20x gacha tezlikni kafolatlaydi.

Keyin, bir necha qatorli kodlar bilan avtomatik aralash aniqlikni amalga oshirish mashg'ulotni qo'shimcha 2 baravar tezlashtiradi.

Uchinchi avlod NVLink juda tez koʻp GPU oʻzaro taʼsiri, uchinchi avlod Ray Tracing yadrolari va siyrak matritsali matematika bilan ixtisoslashuv Amper mikroarxitekturasining qoʻshimcha jihatlari hisoblanadi .

To'rtinchi avlod:

Tensor yadrolarining Hopper mikroarxitekturasiga asoslangan to'rtinchi avlodining kelajakda chiqarilishi rejalashtirilgan. Keyingi H100.

2022-yil mart oyida chiqarilishi kutilayotgan toʻrtinchi avlod Tensor yadrolari FP8 aniq formatlarini ishlay oladi va NVIDIA maʼlumotlariga koʻra, ulkan til modellarini “hayratlanarli 30X tezlikda tezlashtiradi”. oldingi avlodga nisbatan.”

RTX grafik kartasiGrafiklarni juda tez ko'rsatish uchun ishlatiladi, chunki unda tenzor yadrolari mavjud.

CUDA yadrolari va tensor yadrolari o'rtasidagi farq

Tenzor yadrolari hozirda Titan V va Tesla V100 bilan cheklangan. Ikkala GPUdagi 5120 CUDA yadrolari bir GPU soatiga (masalan, Tesla V100 PCIe chastotasi 1,38 Gz) bitta aniqlikdagi ko'paytirish-to'plash (masalan, fp32 da: x += y * z) maksimal sig'imiga ega.

Har bir tenzor yadrosi kichik matritsalar uchun 4×4 kichik matritsalarda ishlaydi. Bitta GPU soati uchun har bir tensor yadrosi bitta matritsani ko'paytirish-to'plash operatsiyasini bajarishi mumkin.

U ikkita 4×4 FP16 matritsasini koʻpaytiradi va 4×4 FP32 matritsasini qoʻshadi, natijada akkumulyator (bu ham fp32 4×4 matritsadir).

Kirish matritsalari fp16, ko'paytirish natijalari va akkumulyator fp32 bo'lganligi sababli, algoritm aralash aniqlik deb nomlanadi.

To'g'ri atama shunchaki "4×4 matritsa yadrolari" bo'lishi mumkin, ammo NVIDIA marketing jamoasi "tensor yadrolari" dan foydalanishni tanladi.

Tensor yadrolari haqida qisqacha to'liq tushuntirish

GPU karta CUDA yadrolari VRAM
GeForce GTX 1660 Ti 1536 6 GB
GeForce GTX 1660 Super 1408 6 GB
GeForce GTX 1660 1408 6GB
GeForce GTX 1650 Super 1408 4GB
GeForce GTX 1650 1024 va896 4GB
GeForce GTX 1060 3GB 1280 4GB
GeForce GTX 1650 1280 3GB
GeForce GTX 1060 6GB 768 6GB
GeForce GTX 1050 Ti (3GB) 768 4GB
GeForce GTX 1050 (2GB) 640 3GB
GeForce GTX 960 1024 2GB
GeForce GTX 950 786 2GB
GeForce GTX 780 Ti 2880 2GB
GeForce GTX 780 2304 3 GB
GeForce GTX 750 Ti 640 2 GB
GeForce GTX 750 512 1 GB yoki 2 GB

CUDA yadrolarini o'z ichiga olgan GPU'lar

Xulosa

  • CUDA va Tensor yadrolari Nvidia deb nomlangan kompaniya tomonidan ishlab chiqilgan mahsulotlardir. CUDA qisqartmasi Compute Unified Device Architecture degan ma'noni anglatadi. Ushbu CUDA yadrolari GPU, smartfonlar va hatto avtomobillaringizda mavjud.
  • Nvidia tomonidan ishlab chiqilgan tenzor yadrolari ham GPUlarda qo'llaniladi. "Tensor yadrolari" deb nomlangan maxsus yadrolar aralash aniqlikdagi mashg'ulotlarga imkon beradi. Tensor yadrolarining birinchi avlodi aralash aniqlik va FP16 raqam formatida mashq qilish imkonini berdi.
  • Bu ma'lum grafik protsessorlar uchun teraFLOP o'tkazuvchanligini 12 baravar oshirishi mumkin. Int8, Int4 va Int1 qo'llab-quvvatlanadigan Tensor Core aniqliklari ro'yxatiga qo'shildi.
  • Aralash tufaylio'qitishning aniq tartiblari, GPU ishlashi 32 barobarga oshdi. Hopper mikroarxitekturasiga asoslangan Tensor yadrolarining to'rtinchi avlodining kelajakda chiqarilishi rejalashtirilgan.

Boshqa maqolalar

    Mary Davis

    Meri Devis yozuvchi, kontent yaratuvchisi va turli mavzularda taqqoslash tahliliga ixtisoslashgan tadqiqotchi. Jurnalistika darajasiga va bu sohada besh yildan ortiq tajribaga ega bo'lgan Meri o'z o'quvchilariga xolis va to'g'ridan-to'g'ri ma'lumot etkazish ishtiyoqiga ega. Uning yozishga bo'lgan muhabbati yoshligida boshlangan va yozuvchilikdagi muvaffaqiyatli karerasining harakatlantiruvchi kuchi bo'lgan. Meri tadqiqot qilish va topilmalarni tushunarli va qiziqarli formatda taqdim etish qobiliyati uni butun dunyodagi o'quvchilarga yoqdi. Meri yozmaganida sayohat qilishni, kitob o'qishni va oila va do'stlar bilan vaqt o'tkazishni yaxshi ko'radi.