Ո՞րն է տարբերությունը CUDA միջուկների և Tensor Cores-ի միջև: (Բացատրված) – Բոլոր տարբերությունները

 Ո՞րն է տարբերությունը CUDA միջուկների և Tensor Cores-ի միջև: (Բացատրված) – Բոլոր տարբերությունները

Mary Davis

Բովանդակություն

CUDA և Tensor միջուկները արտադրանք են, որոնք մշակվել են Nvidia կոչվող ընկերության կողմից: Այսպիսով, ինչ են CUDA միջուկները և Tensor միջուկները: CUDA-ն նշանակում է Compute Unified Device Architecture: CUDA միջուկները առկա են ձեր GPU-ներում, սմարթֆոններում և նույնիսկ ձեր մեքենաներում, ինչպես ասում են Nvidia-ի մշակողները:

CUDA միջուկները զուգահեռ հաշվողական հարթակ են և կիրառական ծրագրավորման ինտերֆեյս (API), որը թույլ է տալիս ծրագրակազմին օգտագործել հատուկ տեսակի գրաֆիկական մշակման միավորներ (GPU) ընդհանուր նշանակության մշակման համար:

Մինչդեռ տենզորային միջուկները, որոնք նույնպես մշակվել են Nvidia-ի կողմից, օգտագործվում են նաև GPU-ներում: Tensor Cores-ը թույլ է տալիս խառը ճշգրտությամբ հաշվարկել՝ դինամիկ կերպով հարմարեցնելով հաշվարկները՝ բարձրացնելու թողունակությունը՝ պահպանելով ճշգրտությունը:

Պարզ բառերով ասած՝ այս միջուկները ձեր համակարգչի GPU-ների կարևոր մասն են՝ որոշակի հաշվարկներ կատարելու համար: CUDA միջուկները օգտագործվում են երկու թվեր բազմապատկելու և դրանք մեկ այլ թվին ավելացնելու համար:

Մինչդեռ Tensor միջուկը նույնն է, բայց 4×4 մատրիցներով: Այս հաշվարկները հիմնականում ավելի արագ են դարձնում գրաֆիկները ձեզ համար:

Ի՞նչ է CUDA-ն:

Հաշվարկեք Unified Device Architecture-ը կարճ CUDA-ն, որը մշակվել է Nvidia-ի կողմից, թողարկվել է 2007 թվականի հունիսի 23-ին, զուգահեռ հաշվարկային հարթակ է և հավելվածի ծրագրավորման ինտերֆեյս (API):

թույլ է տալիս ծրագրակազմին օգտագործել գրաֆիկական մշակման միավորների (GPU) հատուկ տեսակներ ընդհանուր նշանակության մշակման համար, մեթոդ, որը հայտնի է որպես ընդհանուր նպատակային հաշվարկ:GPU (GPU):

CUDA-ն ծրագրային շերտ է, որն ապահովում է անմիջական մուտք դեպի GPU-ի վիրտուալ հրահանգների հավաքածուն և զուգահեռ հաշվողական տարրերը հաշվարկային միջուկների կատարման համար: CUDA-ն մշակվել է տարբեր ծրագրավորման լեզուների հետ աշխատելու համար, ներառյալ C, C++ և Fortran:

Տարբեր ծրագրավորման լեզուներով աշխատելու ունակությունը զուգահեռ ծրագրավորման մասնագետների համար հեշտացնում է GPU-ի ռեսուրսների օգտագործումը, եթե մենք այն տարբերում ենք նախկին API-ներից, ինչպիսիք են Direct3D-ը կամ OpenGL-ը, ինչը ձեզնից կպահանջի ավելի առաջադեմ: գրաֆիկական ծրագրավորման հմտությունների բազա:

GPU-ն CUDA-ով նաև աջակցում է ծրագրավորման շրջանակներին, ինչպիսիք են OpenMP, OpenACC, OpenCL և նաև HIP, որոնք կարող են նման կոդ կազմել CUDA-ում: CUDA-ի համար օգտագործված առաջին անունը Compute Unified Device Architecture-ի հապավումն էր: Այնուամենայնիվ, Nvidia-ն ավելի ուշ հեռացրեց սովորաբար օգտագործվող հապավումը:

Հզոր Nvidia գրաֆիկական քարտ GTX 1080 Ti

Ավելին CUDA-ի մասին

Որպես մասնագիտացված համակարգչային պրոցեսոր, գրաֆիկական մշակման միավորը (GPU) բավարարում է իրական կարիքները -ժամանակի, հաշվարկների ինտենսիվ եռաչափ գրաֆիկայի ծանրաբեռնվածություն:

Մոտավորապես 2012 թվականին GPU-ները զարգացան և դարձան խիստ զուգահեռ բազմամիջուկ համակարգեր, որոնք հնարավորություն էին տալիս արդյունավետ մշակել տվյալների մեծ բլոկների համար:

Տվյալների հսկայական բլոկներ զուգահեռ մշակելիս այս դիզայնը գերազանցում է ընդհանուր նշանակության կենտրոնական մշակման միավորներին (CPU) ալգորիթմների համար, ինչպիսիք են՝

  • գաղտնագրային հեշը:գործառույթներ
  • մեքենայի ուսուցում
  • մոլեկուլային դինամիկայի սիմուլյացիաներ
  • ֆիզիկական շարժիչներ
  • տեսակավորող ալգորիթմներ

CUDA Architecture-ի օգտագործումը հիմա և ապագայում

  • 3D գրաֆիկայի արագացված մատուցում
  • Վիդեո ֆայլերի ձևաչափերի արագացված փոխակերպում
  • Արագացված գաղտնագրում, վերծանում և սեղմում
  • Կենսաինֆորմատիկա, օրինակ՝ NGS ԴՆԹ-ի հաջորդականությունը BarraCUDA
  • Բաշխված հաշվարկներ, ինչպիսիք են սպիտակուցների բնօրինակ կոնֆորմացիայի կանխատեսումը
  • Բժշկական վերլուծության սիմուլյացիաներ, օրինակ՝ վիրտուալ իրականություն՝ հիմնված CT և MRI սկանավորման պատկերների վրա
  • Ֆիզիկական սիմուլյացիաներ, մասնավորապես հեղուկների դինամիկայի մեջ
  • Նյարդային ցանցի ուսուցում մեքենայական ուսուցման խնդիրներում
  • Դեմքի ճանաչում
  • Բաշխված հաշվողական նախագծեր, ինչպիսիք են [email protected] և այլ նախագծեր, որոնք օգտագործում են BOINC
  • Մոլեկուլային դինամիկա
  • Մայնինգ կրիպտոարժույթներ
  • Շարժման (SfM) ծրագրաշարի կառուցվածքը

Ի՞նչ է Tensor Core-ը:

Տենսորային միջուկներ կոչվող մասնագիտացված միջուկները թույլ են տալիս խառը ճշգրտությամբ ուսուցում: Այս մասնագիտացված միջուկների սկզբնական սերունդը դա անում է միաձուլված բազմապատկման ավելացման ալգորիթմով: Սա հնարավորություն է տալիս բազմապատկել և ավելացնել երկու 4 x 4 FP16 մատրիցներ 4 x 4 FP16 կամ FP32 մատրիցին:

Վերջնական արդյունքը կլինի FP32-ը միայն ճշգրտության աննշան կորստով, խառը ճշգրիտ հաշվարկը նշանակված է որպես այդպիսին, չնայածմուտքային մատրիցները կարող են լինել ցածր ճշգրտության FP16:

Գործնականում դա զգալիորեն արագացնում է հաշվարկները՝ փոքր ազդեցություն ունենալով մոդելի վերջնական արդյունավետության վրա: Այս կարողությունը ընդլայնվել է ավելի ուշ միկրոճարտարապետությունների կողմից՝ նույնիսկ ավելի քիչ ճշգրիտ համակարգչային թվերի ներկայացման համար:

Առաջին սերունդը ներկայացվեց Volta միկրոճարտարապետությամբ՝ սկսած V100-ից, ավելի շատ համակարգչային թվերի ճշգրիտ ձևաչափեր հասանելի դարձան նոր GPU միկրոճարտարապետությունների հետ յուրաքանչյուր անցնող սերնդի հետ հաշվարկելու համար:

Մենք կխոսենք այն մասին, թե ինչպես են Tensor Cores-ի հզորությունը և ֆունկցիոնալությունը փոխվել և բարելավվել յուրաքանչյուր միկրոճարտարապետության սերնդի հետ հաջորդ բաժնում:

Տիտան V-ի կողմից արված գրաֆիկական պատկերը

Ինչպե՞ս են աշխատում Tensor Cores-ը:

Երկրորդ սերունդ.

Turing GPU-ների ներդրմամբ ներկայացվեց Tensor Cores-ի երկրորդ սերունդը: Int8, Int4 և Int1 ավելացվել են աջակցվող Tensor Core ճշգրտումների ցանկին, որոնքնախկինում սահմանափակվել է FP16-ով:

Խառը ճշգրիտ ուսուցման ընթացակարգերի շնորհիվ GPU-ի կատարողականի թողունակությունը աճել է մինչև 32 անգամ՝ համեմատած Pascal GPU-ների:

Երրորդ սերունդ.

Ampere GPU-ի ճարտարապետությունն ընդլայնվում է Volta և Turing միկրոճարտարապետությունների նախկին առաջընթացների հիման վրա՝ ավելացնելով աջակցություն FP64, TF32 և bfloat16 ճշգրտությունների համար:

Խորը ուսուցման ուսուցումը և եզրակացության գործողությունները շատ ավելի արագացված են այս լրացուցիչ ճշգրիտ ձևաչափերով: Օրինակ, TF32 ձևաչափը գործում է FP32-ի նման՝ միաժամանակ երաշխավորելով մինչև 20 անգամ արագացում՝ առանց որևէ ծածկագրի փոփոխության:

Այնուհետև, ընդամենը մի քանի տող կոդով, ավտոմատ խառը ճշգրիտ իրականացումը կարագացնի մարզումը լրացուցիչ 2 անգամ:

Երրորդ սերնդի NVLink-ը, որը հնարավորություն է տալիս ահռելի արագ բազմաբնույթ GPU փոխազդեցությունները, երրորդ սերնդի Ray Tracing միջուկները և նոսր մատրիցային մաթեմատիկայի հետ մասնագիտացումը Ampere միկրոճարտարապետության լրացուցիչ ասպեկտներ են :

Տես նաեւ: Լացող օբսիդիան ընդդեմ սովորական օբսիդիանի (դրանց կիրառությունները) – բոլոր տարբերությունները

Չորրորդ սերունդ.

Նախատեսվում է Hopper միկրոճարտարապետության վրա հիմնված Tensor Cores-ի չորրորդ սերնդի ապագա թողարկումը: Չորրորդ սերնդի Tensor Cores-ը հաջորդ H100-ում:

որը կթողարկվի 2022 թվականի մարտին, կկարողանա կառավարել FP8 ճշգրիտ ձևաչափերը և, ըստ NVIDIA-ի, արագացնելու է հսկայական լեզվական մոդելները «ապշեցուցիչ 30X-ով: նախորդ սերնդի նկատմամբ»:

RTX գրաֆիկական քարտըօգտագործվում է շատ արագ գրաֆիկա ներկայացնելու համար, քանի որ այն պարունակում է թենզորային միջուկներ:

Տարբերությունը CUDA միջուկների և թենզորային միջուկների միջև

Tensor միջուկները ներկայումս սահմանափակված են Titan V-ով և Tesla V100-ով: Երկու GPU-ների 5120 CUDA միջուկներն ունեն մեկ ճշգրիտ բազմապատկման-կուտակման գործողության առավելագույն հզորություն (օրինակ, fp32-ում՝ x += y * z) մեկ GPU ժամացույցի համար (օրինակ՝ Tesla V100 PCIe հաճախականությունը 1,38 Գց է):

Յուրաքանչյուր թենզորային միջուկ գործում է 4×4 փոքր մատրիցների վրա փոքր մատրիցների համար: Մեկ GPU ժամացույցի համար յուրաքանչյուր տենզորի միջուկ կարող է կատարել մեկ մատրիցային բազմապատկման-կուտակման գործողություն:

Տես նաեւ: Ո՞րն է տարբերությունը Maul-ի և Warhammer-ի միջև (բացահայտված) – Բոլոր տարբերությունները

Այն բազմապատկում է երկու 4×4 FP16 մատրիցներ և ավելացնում է 4×4 FP32 մատրիցը, որի արդյունքում ստացվում է կուտակիչ (դա նաև fp32 4×4 մատրիցա է):

Քանի որ մուտքագրման մատրիցները fp16 են, իսկ բազմապատկման արդյունքները և կուտակիչը fp32 են, ալգորիթմը հայտնի է որպես խառը ճշգրտություն:

Ճիշտ տերմինը, ամենայն հավանականությամբ, կլինի ընդամենը «4×4 մատրիցային միջուկներ», սակայն NVIDIA մարքեթինգային թիմը որոշեց օգտագործել «tensor cores»:

Tensor cores ամբողջական բացատրությունը համառոտ

GPU քարտ CUDA միջուկներ VRAM
GeForce GTX 1660 Ti 1536 6GB
GeForce GTX 1660 Super 1408 6GB
GeForce GTX 1660 1408 6GB
GeForce GTX 1650 Super 1408 4GB
GeForce GTX 1650 1024 եւ896 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 3GB
GeForce GTX 750 Ti 640 2 ԳԲ
GeForce GTX 750 512 1ԳԲ կամ 2 ԳԲ

GPU-ները, որոնք պարունակում են CUDA միջուկներ

Եզրակացություն

  • CUDA և Tensor միջուկները արտադրանք են, երկուսն էլ մշակվել են Nvidia կոչվող ընկերության կողմից: CUDA-ն նշանակում է Compute Unified Device Architecture: Այս CUDA միջուկները առկա են ձեր GPU-ներում, սմարթֆոններում և նույնիսկ ձեր մեքենաներում:
  • Մինչդեռ տենզորային միջուկները, որոնք նույնպես մշակվել են Nvidia-ի կողմից, օգտագործվում են նաև GPU-ներում: «Tensor cores» կոչվող մասնագիտացված միջուկները թույլ են տալիս խառը ճշգրտությամբ ուսուցում: Tensor Cores-ի առաջին սերունդը հնարավորություն տվեց մարզվել խառը ճշգրտությամբ և FP16 թվային ձևաչափով:
  • Սա կարող է ունենալ մինչև 12 անգամ մեծացնել teraFLOP թողունակությունը որոշակի GPU-ների համար: Int8-ը, Int4-ը և Int1-ը ավելացվել են Tensor Core-ի աջակցվող ճշգրտումների ցանկին:
  • Պայմանավորված է խառըճշգրիտ ուսուցման ընթացակարգերը, GPU-ի աշխատանքը ավելացել է մինչև 32 անգամ: Նախատեսվում է Hopper միկրոճարտարապետության վրա հիմնված Tensor Cores-ի չորրորդ սերնդի թողարկումը:

Այլ հոդվածներ

Mary Davis

Մերի Դևիսը գրող է, բովանդակություն ստեղծող և մոլի հետազոտող, որը մասնագիտացած է տարբեր թեմաների համեմատական ​​վերլուծության մեջ: Ունենալով լրագրության կոչում և ոլորտում ավելի քան հինգ տարվա փորձ՝ Մերին կիրք ունի իր ընթերցողներին անաչառ և պարզ տեղեկատվություն տրամադրելու համար: Գրելու հանդեպ նրա սերը սկսվել է երիտասարդ տարիքից և եղել է գրելու հաջող կարիերայի շարժիչ ուժը: Մերիի կարողությունը՝ ուսումնասիրելու և բացահայտումները դյուրըմբռնելի և գրավիչ ձևաչափով ներկայացնելու, նրան սիրել են ամբողջ աշխարհի ընթերցողներին: Երբ նա չի գրում, Մերին սիրում է ճանապարհորդել, կարդալ և ժամանակ անցկացնել ընտանիքի և ընկերների հետ։