CUDA ядролары мен тензор ядроларының айырмашылығы неде? (Түсіндірілді) – Барлық айырмашылықтар

 CUDA ядролары мен тензор ядроларының айырмашылығы неде? (Түсіндірілді) – Барлық айырмашылықтар

Mary Davis

CUDA және Tensor ядролары - Nvidia деп аталатын компания әзірлеген өнімдер. Сонымен, CUDA ядролары мен тензор ядролары дегеніміз не? CUDA - бұл Compute Unified Device Architecture дегенді білдіреді. Nvidia әзірлеушілері айтқандай, CUDA ядролары графикалық процессорларыңызда, смартфондарыңызда және тіпті көліктеріңізде бар.

CUDA өзектері – жалпы мақсаттағы өңдеу үшін бағдарламалық құралға графикалық өңдеу бірліктерінің (GPU) белгілі түрлерін пайдалануға мүмкіндік беретін параллельді есептеу платформасы және қолданбалы бағдарламалау интерфейсі (API).

Ал Nvidia әзірлеген тензорлық ядролар да графикалық процессорларда қолданылады. Тензор өзектері дәлдікті сақтай отырып, өткізу қабілеттілігін арттыру үшін есептеулерді динамикалық түрде бейімдей отырып, аралас дәлдіктегі есептеулерге мүмкіндік береді.

Қарапайым сөзбен айтқанда, бұл ядролар белгілі бір есептеулерді орындау үшін компьютердегі графикалық процессорлардың маңызды бөлігі болып табылады. CUDA өзектері екі санды көбейту және оларды басқа санға қосу үшін қолданылады.

Тензор өзегі бірдей, бірақ 4×4 матрицалары бар. Бұл есептеулер сізге графиканы жылдамырақ көрсетеді.

CUDA дегеніміз не?

Есептеуіш құрылғыларының архитектурасы қысқаша CUDA Nvidia әзірлеген, 2007 жылы 23 маусымда шығарылған, параллель есептеу платформасы және қолданбалы бағдарламалау интерфейсі (API).

Бұл. бағдарламалық жасақтамаға жалпы мақсаттағы өңдеу үшін графикалық өңдеу бірліктерінің (GPU) белгілі түрлерін пайдалануға мүмкіндік береді, бұл әдіс жалпы мақсаттағы есептеулер деп аталады.GPU (GPU).

CUDA – GPU виртуалды нұсқаулар жинағына және есептеу ядроларын орындау үшін параллельді есептеу элементтеріне тікелей қол жеткізуді қамтамасыз ететін бағдарламалық қамтамасыз ету деңгейі. CUDA C, C++ және Fortran сияқты әртүрлі бағдарламалау тілдерімен жұмыс істеу үшін жасалған.

Әртүрлі бағдарламалау тілдерімен жұмыс істеу мүмкіндігі параллельді бағдарламалау мамандарына GPU ресурстарын пайдалануды жеңілдетеді, егер біз оны Direct3D немесе OpenGL сияқты алдыңғы API интерфейстерінен ажырататын болсақ, бұл сізге анағұрлым жетілдірілген тілдің болуын талап етеді. графикалық бағдарламалау дағдыларының базасы.

CUDA бар GPU сонымен қатар OpenMP, OpenACC, OpenCL, сондай-ақ CUDA-ға осындай кодты құрастыра алатын HIP сияқты бағдарламалау шеңберлерін қолдайды. CUDA үшін қолданылған бірінші атау Compute Unified Device Architecture сөзінің аббревиатурасы болды. Алайда, кейінірек Nvidia жиі қолданылатын аббревиатурадан бас тартты.

Күшті Nvidia графикалық картасы GTX 1080 Ti

CUDA туралы толығырақ

Арнайы компьютерлік процессор ретінде графикалық өңдеу блогы (GPU) нақты қажеттіліктерді қанағаттандырады. -уақыт, есептеуді қажет ететін 3D графикасының жұмыс жүктемелері.

Шамамен 2012 GPU дамып, үлкен блоктар үшін деректерді тиімді өңдеуге мүмкіндік беретін жоғары параллельді көп ядролы жүйелерге айналды.

Деректердің үлкен блоктарын параллельді өңдеу кезінде бұл дизайн алгоритмдерге арналған жалпы мақсаттағы орталық өңдеу бірліктерінен (CPU) жоғарырақ, мысалы:

  • криптографиялық хэшфункциялары
  • машинада оқыту
  • молекулярлық динамикалық модельдеу
  • физикалық қозғалтқыштар
  • сұрыптау алгоритмдері

CUDA архитектурасын қазір пайдалану және Болашақта

  • 3D графикасын жеделдетілген көрсету
  • Бейне файл пішімдерін жедел түрлендіру
  • Жылдам шифрлау, шифрды шешу және қысу
  • Биоинформатика, мысалы, NGS ДНҚ секвенирлеуі BarraCUDA
  • Белоктардың табиғи конформациясын болжау сияқты үлестірілген есептеулер
  • Медициналық талдау модельдеулері, мысалы, CT және MRI сканерлеу суреттеріне негізделген виртуалды шындық
  • Физикалық модельдеу, әсіресе сұйықтық динамикасында
  • Машиналық оқыту мәселелерінде нейрондық желіні оқыту
  • Бетті тану
  • Таратылған есептеу жобалары, мысалы, [email protected] және басқа жобалар BOINC
  • Молекулалық динамика
  • Тау-кен криптовалюталары
  • Қозғалыс құрылымы (SfM) бағдарламалық құралы

Тензор ядросы дегеніміз не?

Тензор өзектері деп аталатын мамандандырылған ядролар аралас дәлдіктегі жаттығуларға мүмкіндік береді. Бұл мамандандырылған ядролардың бастапқы буыны мұны біріктірілген көбейту-қосу алгоритмімен жасайды. Бұл 4 x 4 FP16 немесе FP32 матрицасына екі 4 x 4 FP16 матрицасын көбейтуге және қосуға мүмкіндік береді.

Түпкілікті нәтиже дәлдіктің шамалы ғана жоғалуымен FP32 болады, аралас дәлдіктегі есептеулер осылай тағайындалғанымен,кіріс матрицалары төмен дәлдікті FP16 болуы мүмкін.

Тәжірибеде бұл модельдің соңғы тиімділігіне әсер етпей, есептеулерді айтарлықтай жылдамдатады. Бұл сыйымдылық кейінгі микроархитектуралар арқылы одан да дәлірек компьютер сандарын көрсетуге дейін кеңейтілді.

Бірінші буын V100-ден бастап Volta микроархитектурасымен таныстырылды, әр ұрпақ өткен сайын жаңа GPU микроархитектураларымен есептеу үшін компьютерлік сандар дәлдігінің көбірек пішімдері қолжетімді болды.

Сондай-ақ_қараңыз: Есімдіктер туралы пікірталас: Носотрос пен Восотрос (түсіндірілді) – барлық айырмашылықтар

Біз келесі бөлімде әрбір микроархитектура генерациясымен Tensor Cores сыйымдылығы мен функционалдығы қалай өзгергені және жақсарғаны туралы айтатын боламыз.

Титан V жасаған графикалық кескін

Тензор өзектері қалай жұмыс істейді?

Бірінші буын:

Volta GPU микроархитектурасы Tensor Cores бірінші буынына қосылды. Бұл ядролар аралас дәлдікпен және FP16 сандық пішіммен жаттығуға мүмкіндік берді.

Бұл белгілі бір графикалық процессорлар үшін teraFLOP өткізу қабілетін 12 есеге дейін арттыруы мүмкін. Жоғары деңгейлі V100 640 ядросы алдыңғы буынның Паскаль графикалық процессорларымен салыстырғанда өнімділік жылдамдығын 5 есеге дейін арттырады.

Екінші буын:

Тюринг графикалық процессорларының енгізілуімен тензор ядроларының екінші буыны енгізілді. Int8, Int4 және Int1 қолдау көрсетілетін Tensor Core дәлдіктерінің тізіміне қосылды.бұрын FP16 шектелген.

Сондай-ақ_қараңыз: Қара ликер мен мөлдір ликердің айырмашылығы неде? - Барлық айырмашылықтар

Дәлдік аралас оқыту процедураларының арқасында GPU өнімділігі Паскаль графикалық процессорларымен салыстырғанда 32 есеге дейін артты.

Үшінші буын:

Ампер графикалық процессорындағы архитектура FP64, TF32 және bfloat16 дәлдіктеріне қолдау қосу арқылы Volta және Turing микроархитектураларының бұрынғы жетістіктерін кеңейтеді.

Осы қосымша дәлдік пішімдері арқылы терең оқыту жаттығулары мен қорытынды әрекеттері әлдеқайда жылдамырақ. Мысалы, TF32 пішімі FP32 сияқты жұмыс істейді, сонымен қатар ешқандай кодты өзгертпестен 20 есе жылдамдатуға кепілдік береді.

Содан кейін кодтың бірнеше жолымен аралас дәлдікті автоматты түрде енгізу жаттығуды қосымша 2 есе жылдамдатады.

Үшінші буындағы NVLink көп жылдам көп GPU өзара әрекеттесулерін, үшінші буынның Ray Tracing өзектерін және сирек матрицалық математикамен мамандандыруды қосу үшін Ампер микроархитектурасының қосымша аспектілері болып табылады .

Төртінші буын:

Хоппер микроархитектурасына негізделген Tensor Cores төртінші буынының болашақ шығарылымы жоспарланған. Келесі H100-дегі төртінші буын Tensor Cores.

2022 жылдың наурыз айында шығарылады деп күтілуде, ол FP8 дәлдік пішімдерін өңдей алады және NVIDIA мәліметтері бойынша, үлкен тіл үлгілерін «таңғажайып 30X жылдамдықпен жылдамдатады» алдыңғы ұрпаққа қарағанда.”

RTX графикалық картасы болып табыладыграфиканы өте жылдам көрсету үшін пайдаланылады, өйткені оның құрамында тензор ядролары бар.

CUDA ядролары мен тензор ядроларының арасындағы айырмашылық

Тензор ядролары қазіргі уақытта Titan V және Tesla V100-мен шектелген. Екі графикалық процессордағы 5120 CUDA ядроларының GPU сағатына (мысалы, Tesla V100 PCIe жиілігі 1,38 Гц) бір дәлдіктегі көбейту-жинақтау операциясының (мысалы, fp32: x += y * z) максималды сыйымдылығы бар.

Әр тензор өзегі кіші матрицалар үшін 4×4 шағын матрицаларда жұмыс істейді. Бір GPU сағатына әрбір тензор өзегі бір матрицаны көбейту-жинақтау операциясын аяқтай алады.

Ол екі 4×4 FP16 матрицасын көбейтеді және аккумуляторға әкелетін 4×4 FP32 матрицасын қосады (бұл да fp32 4×4 матрицасы).

Кіріс матрицалары fp16, ал көбейту нәтижелері мен жинақтаушы fp32 болғандықтан, алгоритм аралас дәлдік ретінде белгілі.

Дұрыс термин жай ғана «4×4 матрицалық ядролар» болуы мүмкін, бірақ NVIDIA маркетинг тобы «тензорлық ядроларды» пайдалануды таңдады.

Тензор өзектерінің толық түсіндірмесі қысқаша

GPU картасы CUDA ядролары VRAM
GeForce GTX 1660 Ti 1536 6 ГБ
GeForce GTX 1660 Super 1408 6 ГБ
GeForce GTX 1660 1408 6 ГБ
GeForce GTX 1650 Super 1408 4ГБ
GeForce GTX 1650 1024 және896 4ГБ
GeForce GTX 1060 3ГБ 1280 4ГБ
GeForce GTX 1650 1280 3 ГБ
GeForce GTX 1060 6 ГБ 768 6 ГБ
GeForce GTX 1050 Ti (3 ГБ) 768 4ГБ
GeForce GTX 1050 (2 ГБ) 640 3ГБ
GeForce GTX 960 1024 2ГБ
GeForce GTX 950 786 2 ГБ
GeForce GTX 780 Ti 2880 2 ГБ
GeForce GTX 780 2304 3 ГБ
GeForce GTX 750 Ti 640 2 ГБ
GeForce GTX 750 512 1 ГБ немесе 2 ГБ

Құрамында CUDA ядролары бар GPU

Қорытынды

  • CUDA және Tensor өзектері екеуі де Nvidia деп аталатын компания әзірлеген өнімдер. CUDA - бұл Compute Unified Device Architecture дегенді білдіреді. Бұл CUDA ядролары сіздің графикалық процессорларыңызда, смартфондарыңызда және тіпті көліктеріңізде бар.
  • Сонымен қатар Nvidia әзірлеген тензорлық ядролар да графикалық процессорларда қолданылады. «Тензор ядролары» деп аталатын мамандандырылған ядролар аралас дәлдіктегі жаттығуларға мүмкіндік береді. Tensor Cores бірінші буыны аралас дәлдікпен және FP16 сандық пішіммен жаттығуға мүмкіндік берді.
  • Бұл белгілі бір графикалық процессорлар үшін teraFLOP өткізу қабілетін 12 есеге дейін арттыруы мүмкін. Int8, Int4 және Int1 қолдау көрсетілетін Tensor Core дәлдіктерінің тізіміне қосылды.
  • Араласуына байланыстыдәлдікпен оқыту процедуралары, GPU өнімділігі 32 есеге дейін артты. Hopper микроархитектурасына негізделген Tensor Cores төртінші буынының болашақ шығарылымы жоспарланған.

Басқа мақалалар

    Mary Davis

    Мэри Дэвис - жазушы, мазмұнды жасаушы және әртүрлі тақырыптар бойынша салыстырмалы талдауға маманданған зерттеуші. Журналистика дәрежесі және осы салада бес жылдан астам тәжірибесі бар Мэри оқырмандарына бейтарап және тікелей ақпаратты жеткізуге құмар. Оның жазуға деген сүйіспеншілігі жас кезінде басталды және оның жазушылық мансабындағы табысты қозғаушы күш болды. Мэридің зерттеу және нәтижелерді түсінуге оңай және тартымды форматта ұсыну қабілеті оны бүкіл әлемдегі оқырмандарға ұнатты. Жазбаған кезде Мэри саяхаттауды, кітап оқуды және отбасымен және достарымен уақыт өткізуді ұнатады.