რა განსხვავებაა CUDA ბირთვებსა და ტენსორ ბირთვებს შორის? (ახსნილია) – ყველა განსხვავება

 რა განსხვავებაა CUDA ბირთვებსა და ტენსორ ბირთვებს შორის? (ახსნილია) – ყველა განსხვავება

Mary Davis

CUDA და Tensor ბირთვები არის პროდუქტები, რომლებიც შემუშავებულია კომპანიის მიერ, სახელწოდებით Nvidia. რა არის CUDA ბირთვები და Tensor ბირთვები? CUDA ნიშნავს Compute Unified Device Architecture. CUDA ბირთვები წარმოდგენილია თქვენს GPU-ებში, სმარტფონებში და მანქანებშიც კი, როგორც ამას Nvidia-ს დეველოპერები ამბობენ.

CUDA ბირთვები არის პარალელური გამოთვლითი პლატფორმა და აპლიკაციის პროგრამირების ინტერფეისი (API), რომელიც საშუალებას აძლევს პროგრამულ უზრუნველყოფას გამოიყენოს კონკრეტული ტიპის გრაფიკული დამუშავების ერთეულები (GPU) ზოგადი დანიშნულების დამუშავებისთვის.

მაშინ, როცა ტენზორული ბირთვები, რომლებიც ასევე შეიქმნა Nvidia-ს მიერ, ასევე გამოიყენება GPU-ებში. Tensor Cores იძლევა შერეული სიზუსტის გამოთვლას, გამოთვლების დინამიურად ადაპტირებას გამტარუნარიანობის გაზრდის მიზნით, სიზუსტის შენარჩუნებისას.

მარტივი სიტყვებით რომ ვთქვათ, ეს ბირთვები თქვენი კომპიუტერის GPU-ების მნიშვნელოვანი ნაწილია გარკვეული გამოთვლების შესასრულებლად. CUDA ბირთვები გამოიყენება ორი რიცხვის გასამრავლებლად და სხვა რიცხვში დასამატებლად.

მაშინ, როცა ტენსორის ბირთვი იგივეა, მაგრამ 4×4 მატრიცებით. ეს გამოთვლები ძირითადად თქვენთვის უფრო სწრაფად ასახავს გრაფიკას.

რა არის CUDA?

Compute Unified Device Architecture მოკლედ CUDA შემუშავებული Nvidia-ს მიერ, გამოშვებული 2007 წლის 23 ივნისს, არის პარალელური გამოთვლითი პლატფორმა და აპლიკაციის პროგრამირების ინტერფეისი (API).

საშუალებას აძლევს პროგრამულ უზრუნველყოფას გამოიყენოს სპეციალური ტიპის გრაფიკული დამუშავების ერთეულები (GPU) ზოგადი დანიშნულების დამუშავებისთვის, მეთოდი, რომელიც ცნობილია როგორც ზოგადი დანიშნულების გამოთვლა.GPU (GPU).

Იხილეთ ასევე: დაცული და დაუცველი არჩევანი NBA დრაფტისთვის: არის რაიმე განსხვავება? - ყველა განსხვავება

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) აკმაყოფილებს რეალურ მოთხოვნებს -დრო, გამოთვლითი ინტენსიური 3D გრაფიკის დატვირთვა.

დაახლოებით 2012 GPU-ები განვითარდა და იქცა ძალიან პარალელურ მრავალბირთვიან სისტემებად, რაც შესაძლებელს გახდის მონაცემთა ეფექტური დამუშავებას დიდი ბლოკებისთვის.

მონაცემთა უზარმაზარი ბლოკების პარალელურად დამუშავებისას, ეს დიზაინი აღემატება ზოგადი დანიშნულების ცენტრალურ დამუშავების ერთეულებს (CPU) ალგორითმებისთვის, როგორიცაა:

  • კრიპტოგრაფიული ჰეშიფუნქციები
  • მანქანის სწავლა
  • მოლეკულური დინამიკის სიმულაციები
  • ფიზიკის ძრავები
  • დალაგების ალგორითმები

CUDA Architecture–ის გამოყენება ახლა და მომავალში

  • 3D გრაფიკის დაჩქარებული გადაცემა
  • ვიდეო ფაილების ფორმატების დაჩქარებული ინტერკონვერტაცია
  • დაჩქარებული დაშიფვრა, გაშიფვრა და შეკუმშვა
  • ბიოინფორმატიკა, მაგ., NGS დნმ-ის თანმიმდევრობა BarraCUDA
  • განაწილებული გამოთვლები, როგორიცაა ცილების მშობლიური კონფორმაციის პროგნოზირება
  • სამედიცინო ანალიზის სიმულაციები, მაგალითად, ვირტუალური რეალობა CT და MRI სკანირების სურათებზე დაფუძნებული
  • ფიზიკური სიმულაციები, კერძოდ სითხის დინამიკაში
  • ნერვული ქსელის სწავლება მანქანათმცოდნეობის პრობლემებში
  • სახის ამოცნობა
  • განაწილებული გამოთვლითი პროექტები, როგორიცაა [email protected] და სხვა პროექტები გამოყენებით BOINC
  • მოლეკულური დინამიკა
  • კრიპტოვალუტების მოპოვება
  • სტრუქტურა მოძრაობის (SfM) პროგრამული უზრუნველყოფიდან

რა არის ტენზორული ბირთვი?

სპეციალიზებული ბირთვები, სახელწოდებით Tensor Cores, იძლევა შერეული სიზუსტის ვარჯიშის საშუალებას. ამ სპეციალიზებული ბირთვების საწყისი თაობა ამას აკეთებს შერწყმული გამრავლება-დამატების ალგორითმით. ეს შესაძლებელს ხდის გამრავლდეს და დაამატოთ ორი 4 x 4 FP16 მატრიცა 4 x 4 FP16 ან FP32 მატრიცაში.

საბოლოო შედეგი იქნება FP32 სიზუსტის მხოლოდ მცირე დაკარგვით, შერეული სიზუსტის გამოთვლა ასეთად არის დანიშნული, მიუხედავად იმისა, რომშეყვანის მატრიცები შეიძლება იყოს დაბალი სიზუსტის FP16.

პრაქტიკაში, ეს მნიშვნელოვნად აჩქარებს გამოთვლებს და მცირე გავლენას ახდენს მოდელის საბოლოო ეფექტურობაზე. ეს სიმძლავრე გაფართოვდა გვიანდელი მიკროარქიტექტურების მიერ კიდევ უფრო ნაკლებად ზუსტი კომპიუტერული რიცხვების წარმოდგენამდე.

პირველი თაობა დაინერგა ვოლტას მიკროარქიტექტურით დაწყებული V100-დან, უფრო მეტი კომპიუტერული ნომრის ზუსტი ფორმატები ხელმისაწვდომი გახდა ახალი GPU მიკროარქიტექტურებით გამოთვლებისთვის ყოველი გავლის თაობაზე.

ჩვენ ვისაუბრებთ იმაზე, თუ როგორ შეიცვალა და გაუმჯობესდა Tensor Cores-ის სიმძლავრე და ფუნქციონირება ყოველი მიკროარქიტექტურის თაობაზე შემდეგ განყოფილებაში.

Titan V-ის მიერ შექმნილი გრაფიკულად გამოსახული სურათი

როგორ მუშაობს ტენზორული ბირთვები?

პირველი თაობა:

ვოლტას GPU მიკროარქიტექტურა შედიოდა Tensor Cores-ის პირველ თაობაში. ამ ბირთვებმა შესაძლებელი გახადა ვარჯიში შერეული სიზუსტით და FP16 ნომრის ფორმატით.

ამას შეიძლება ჰქონდეს teraFLOP გამტარუნარიანობის 12-ჯერ გაზრდა გარკვეული GPU-სთვის. უმაღლესი დონის V100-ის 640 ბირთვი იძლევა მუშაობის სიჩქარის 5-ჯერ ზრდას წინა თაობის Pascal GPU-ებთან შედარებით.

მეორე თაობა:

ტურინგის GPU-ების დანერგვით, დაინერგა Tensor Cores-ის მეორე თაობა. Int8, Int4 და Int1 დაემატა მხარდაჭერილი Tensor Core სიზუსტეების სიას, რომლებიც იყოადრე შემოიფარგლებოდა FP16-ით.

Იხილეთ ასევე: რა განსხვავებაა CSB-სა და ESV ბიბლიას შორის? (განხილული) – ყველა განსხვავება

შერეული ზუსტი ვარჯიშის პროცედურების გამო, GPU-ს მუშაობის გამტარუნარიანობა გაიზარდა 32-ჯერ პასკალის GPU-ებთან შედარებით.

მესამე თაობა:

Ampere GPU-ის არქიტექტურა აფართოებს ვოლტასა და ტურინგის მიკროარქიტექტურების ადრინდელ მიღწევებს FP64, TF32 და bfloat16 სიზუსტეების მხარდაჭერის დამატებით.

ღრმა სწავლის სწავლება და დასკვნის აქტივობები ბევრად უფრო დაჩქარებულია ამ დამატებითი ზუსტი ფორმატებით. მაგალითად, TF32 ფორმატი ფუნქციონირებს FP32-ის მსგავსად და ასევე იძლევა გარანტიას 20-ჯერ აჩქარების კოდის შეცვლის გარეშე.

შემდეგ, მხოლოდ რამდენიმე ხაზის კოდით, შერეული სიზუსტის ავტომატური განხორციელება დააჩქარებს ვარჯიშს დამატებით 2-ჯერ.

მესამე თაობის NVLink გასაოცრად სწრაფი მრავალ GPU ურთიერთქმედების გასააქტიურებლად, მესამე თაობის Ray Tracing ბირთვები და სპეციალიზაცია იშვიათი მატრიცის მათემატიკით არის ამპერის მიკროარქიტექტურის დამატებითი ასპექტები .

მეოთხე თაობა:

დაგეგმილია Hopper-ის მიკროარქიტექტურაზე დაფუძნებული მეოთხე თაობის Tensor Cores-ის მომავალი გამოშვება. მეოთხე თაობის Tensor Cores მომდევნო H100-ში.

რომელიც სავარაუდოდ გამოვა 2022 წლის მარტში, შეძლებს გაუმკლავდეს FP8 ზუსტი ფორმატებს და NVIDIA-ს თანახმად, დააჩქარებს უზარმაზარ ენობრივ მოდელებს „გასაოცარი 30X-ით. წინა თაობასთან შედარებით.”

RTX გრაფიკული ბარათი არისგამოიყენება გრაფიკის ძალიან სწრაფად გადასაღებად, რადგან ის შეიცავს ტენსორ ბირთვებს.

განსხვავება CUDA ბირთვებსა და ტენსორ ბირთვებს შორის

ტენსორის ბირთვები ამჟამად შემოიფარგლება მხოლოდ Titan V და Tesla V100. ორივე GPU-ზე 5120 CUDA ბირთვს აქვს ერთი ზუსტი გამრავლება-დაგროვების ოპერაციის მაქსიმალური ტევადობა (მაგალითად, fp32: x += y * z) თითო GPU საათზე (მაგ. Tesla V100 PCIe სიხშირე არის 1.38 Gz).

თითოეული ტენზორული ბირთვი მუშაობს 4×4 პატარა მატრიცებზე მცირე მატრიცებისთვის. ერთი GPU საათის განმავლობაში, თითოეულ ტენსორის ბირთვს შეუძლია დაასრულოს ერთი მატრიცის გამრავლება-დაგროვების ოპერაცია.

იგი ამრავლებს ორ 4×4 FP16 მატრიცას და ამატებს 4×4 FP32 მატრიცას, რომლის შედეგადაც მიიღება აკუმულატორი (ეს ასევე არის fp32 4×4 მატრიცა).

რადგან შეყვანის მატრიცები არის fp16, ხოლო გამრავლების შედეგები და აკუმულატორი არის fp32, ალგორითმი ცნობილია როგორც შერეული სიზუსტე.

სწორი ტერმინი სავარაუდოდ იქნება მხოლოდ „4×4 მატრიცის ბირთვი“, მაგრამ NVIDIA მარკეტინგის გუნდმა აირჩია „ტენსორის ბირთვების“ გამოყენება.

Tensor ბირთვების სრული ახსნა მოკლედ

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 GB
GeForce GTX 750 512 1GB ან 2 GB

GPU, რომლებიც შეიცავს CUDA ბირთვებს

დასკვნა

  • CUDA და Tensor ბირთვები არის პროდუქტები, ორივე შემუშავებული კომპანიის მიერ, სახელწოდებით Nvidia. CUDA ნიშნავს Compute Unified Device Architecture. ეს CUDA ბირთვები წარმოდგენილია თქვენს GPU-ებში, სმარტფონებში და მანქანებშიც კი.
  • მაშინ, როცა ტენსორის ბირთვები, რომლებიც ასევე შეიქმნა Nvidia-ს მიერ, ასევე გამოიყენება GPU-ებში. სპეციალიზებული ბირთვები სახელწოდებით "Tensor Cores" იძლევა შერეული სიზუსტის ვარჯიშის საშუალებას. Tensor Cores-ის პირველმა თაობამ შესაძლებელი გახადა ვარჯიში შერეული სიზუსტით და FP16 ნომრის ფორმატით.
  • ამას შეიძლება ჰქონდეს teraFLOP გამტარუნარიანობის 12-ჯერ გაზრდა გარკვეული GPU-სთვის. Int8, Int4 და Int1 დაემატა მხარდაჭერილი Tensor Core სიზუსტეების სიას.
  • შერეულის გამოზუსტი სავარჯიშო პროცედურების დროს, GPU-ს შესრულება გაიზარდა 32-ჯერ. იგეგმება Hopper-ის მიკროარქიტექტურაზე დაფუძნებული მეოთხე თაობის Tensor Cores-ის მომავალი გამოშვება.

სხვა სტატიები

    Mary Davis

    მერი დევისი არის მწერალი, შინაარსის შემქმნელი და მგზნებარე მკვლევარი, რომელიც სპეციალიზირებულია შედარების ანალიზში სხვადასხვა თემებზე. ჟურნალისტიკის ხარისხით და ამ სფეროში ხუთ წელზე მეტი გამოცდილებით, მარიამს აქვს გატაცება მიუკერძოებელი და პირდაპირი ინფორმაციის მიწოდება მკითხველებისთვის. წერისადმი მისი სიყვარული ახალგაზრდა ასაკში დაიწყო და მწერლობის წარმატებული კარიერის მამოძრავებელი ძალა იყო. მარიამის უნარმა გამოიკვლიოს და წარმოადგინოს დასკვნები ადვილად გასაგებ და მიმზიდველ ფორმატში, მას მოეწონა მკითხველი მთელ მსოფლიოში. როცა არ წერს, მარიამს უყვარს მოგზაურობა, კითხვა და ოჯახთან და მეგობრებთან ერთად დროის გატარება.