តើអ្វីជាភាពខុសគ្នារវាង CUDA Cores និង Tensor Cores? (ពន្យល់) - ភាពខុសគ្នាទាំងអស់។

 តើអ្វីជាភាពខុសគ្នារវាង CUDA Cores និង Tensor Cores? (ពន្យល់) - ភាពខុសគ្នាទាំងអស់។

Mary Davis

CUDA និង Tensor cores គឺជាផលិតផលដែលបង្កើតឡើងដោយក្រុមហ៊ុនមួយឈ្មោះថា Nvidia។ ដូច្នេះតើស្នូល CUDA និង Tensor cores ជាអ្វី? CUDA តំណាងឱ្យ Compute Unified Device Architecture ។ ស្នូល CUDA មានវត្តមាននៅក្នុង GPUs ស្មាតហ្វូន និងសូម្បីតែរថយន្តរបស់អ្នក ដូចដែលអ្នកអភិវឌ្ឍន៍ Nvidia និយាយដូច្នេះ។

ស្នូល CUDA គឺជាវេទិកាកុំព្យូទ័រប៉ារ៉ាឡែល និងចំណុចប្រទាក់កម្មវិធីកម្មវិធី (API) ដែលអាចឱ្យកម្មវិធីប្រើប្រាស់ប្រភេទជាក់លាក់នៃអង្គភាពដំណើរការក្រាហ្វិក (GPUs) សម្រាប់ដំណើរការគោលបំណងទូទៅ។

ចំណែកឯ tensor cores ដែលត្រូវបានបង្កើតឡើងដោយ Nvidia ក៏ត្រូវបានប្រើប្រាស់នៅក្នុង GPUs ផងដែរ។ Tensor Cores បើកដំណើរការការគណនាភាពជាក់លាក់ចម្រុះ ដោយសម្រួលការគណនាដោយថាមវន្ត ដើម្បីបង្កើនការបញ្ជូនទិន្នន័យ ខណៈពេលដែលរក្សាបាននូវភាពត្រឹមត្រូវ។

នៅក្នុងពាក្យសាមញ្ញ ស្នូលទាំងនេះគឺជាផ្នែកសំខាន់នៃ GPUs នៅក្នុងកុំព្យូទ័ររបស់អ្នកដើម្បីធ្វើការគណនាជាក់លាក់។ ស្នូល CUDA ត្រូវបានប្រើដើម្បីគុណលេខពីរ ហើយបន្ថែមវាទៅលេខផ្សេងទៀត។

ចំណែកឯស្នូល Tensor គឺដូចគ្នា ប៉ុន្តែមានម៉ាទ្រីស 4×4។ ការគណនាទាំងនេះជាមូលដ្ឋានធ្វើឱ្យក្រាហ្វិកកាន់តែលឿនសម្រាប់អ្នក។

តើ CUDA ជាអ្វី?

Compute Unified Device Architecture in short CUDA បង្កើតឡើងដោយ Nvidia ដែលបានចេញផ្សាយនៅថ្ងៃទី 23 ខែមិថុនា ឆ្នាំ 2007 គឺជាវេទិកាកុំព្យូទ័រប៉ារ៉ាឡែល និងចំណុចប្រទាក់កម្មវិធីកម្មវិធី (API)។

នោះ អនុញ្ញាតឱ្យកម្មវិធីប្រើប្រាស់ប្រភេទជាក់លាក់នៃអង្គភាពដំណើរការក្រាហ្វិក (GPUs) សម្រាប់ដំណើរការគោលបំណងទូទៅ ដែលជាវិធីសាស្ត្រដែលគេស្គាល់ថាជាការគណនាគោលបំណងទូទៅនៅលើជីភីយូ (GPU) ។

CUDA គឺជាស្រទាប់សូហ្វវែរដែលផ្តល់ការចូលប្រើដោយផ្ទាល់ទៅកាន់សំណុំការណែនាំនិម្មិតរបស់ GPU និងធាតុគណនាស្របសម្រាប់ការប្រតិបត្តិនៃខឺណែលកុំព្យូទ័រ។ CUDA ត្រូវ​បាន​បង្កើត​ឡើង​ដើម្បី​ធ្វើ​ការ​ជា​មួយ​នឹង​ភាសា​កម្មវិធី​ផ្សេង​គ្នា​រួម​ទាំង C, C ++, និង Fortran ។

សមត្ថភាពក្នុងការធ្វើការជាមួយភាសាសរសេរកម្មវិធីផ្សេងៗធ្វើឱ្យវាកាន់តែងាយស្រួលសម្រាប់អ្នកឯកទេសក្នុងការសរសេរកម្មវិធីស្របគ្នាក្នុងការប្រើប្រាស់ធនធាន GPU ប្រសិនបើយើងបែងចែកវាពី APIs ពីមុនដូចជា Direct3D ឬ OpenGL ដែលនឹងតម្រូវឱ្យអ្នកមានកម្រិតខ្ពស់ជាងនេះ។ មូលដ្ឋានជំនាញក្នុងការសរសេរកម្មវិធីក្រាហ្វិក។

GPU ជាមួយ CUDA ក៏គាំទ្រក្របខ័ណ្ឌសរសេរកម្មវិធីផងដែរ ដូចជា OpenMP, OpenACC, OpenCL និង HIP ដែលអាចចងក្រងកូដបែបនេះទៅ CUDA ។ ឈ្មោះដំបូងដែលប្រើសម្រាប់ CUDA គឺជាអក្សរកាត់សម្រាប់ស្ថាបត្យកម្មឧបករណ៍បង្រួបបង្រួមកុំព្យូទ័រ។ ទោះជាយ៉ាងណាក៏ដោយ Nvidia ក្រោយមកបានទម្លាក់អក្សរកាត់ដែលប្រើជាទូទៅ។

កាតក្រាហ្វិក Nvidia ដ៏មានអានុភាព GTX 1080 Ti

បន្ថែមអំពី CUDA

ក្នុងនាមជាប្រព័ន្ធដំណើរការកុំព្យូទ័រឯកទេស អង្គភាពដំណើរការក្រាហ្វិក (GPU) បំពេញតាមតម្រូវការជាក់ស្តែង។ -time បន្ទុកក្រាហ្វិក 3D ដែលពឹងផ្អែកខ្លាំងលើកុំព្យូទ័រ។

អំពី GPUs ឆ្នាំ 2012 បានវិវត្ត ហើយបានក្លាយជាប្រព័ន្ធពហុស្នូលស្របគ្នាខ្លាំង ដែលអនុញ្ញាតឱ្យដំណើរការទិន្នន័យប្រកបដោយប្រសិទ្ធភាពសម្រាប់ប្លុកធំៗ។

នៅពេលដំណើរការប្លុកដ៏ធំនៃទិន្នន័យស្របគ្នា ការរចនានេះគឺប្រសើរជាងអង្គភាពដំណើរការកណ្តាលដែលមានគោលបំណងទូទៅ (CPUs) សម្រាប់ក្បួនដោះស្រាយដូចជា៖

សូម​មើល​ផង​ដែរ: តើអ្វីជាភាពខុសគ្នារវាង "នឹងមាន" និង "នឹងនៅទីនោះ"? (Spotting The Variance) - ភាពខុសគ្នាទាំងអស់។
  • កូដសម្ងាត់មុខងារ
  • ការរៀនម៉ាស៊ីន
  • ការក្លែងធ្វើឌីណាមិកម៉ូលេគុល
  • ម៉ាស៊ីនរូបវិទ្យា
  • តម្រៀបក្បួនដោះស្រាយ

ការប្រើប្រាស់ស្ថាបត្យកម្ម CUDA ឥឡូវនេះ និង នាពេលអនាគត

  • ការបង្កើនល្បឿននៃការបង្ហាញក្រាហ្វិច 3D
  • ការបំប្លែងទម្រង់ឯកសារវីដេអូដែលបានពន្លឿន
  • ការពន្លឿនការបំលែងកូដ ការឌិគ្រីប និងការបង្ហាប់
  • ព័ត៌មានជីវវិទ្យា។ ឧ. NGS DNA sequencing BarraCUDA
  • ការ​គណនា​ដែល​បាន​ចែកចាយ ដូចជា​ការ​ទស្សន៍ទាយ​ការ​អនុលោម​តាម​ដើម​នៃ​ប្រូតេអ៊ីន
  • ការ​ក្លែង​ធ្វើ​ការ​វិភាគ​វេជ្ជសាស្ត្រ ជា​ឧទាហរណ៍ ការពិត​និម្មិត​ដែល​ផ្អែក​លើ​រូបភាព​ស្កែន CT និង MRI
  • ការក្លែងធ្វើរូបវិទ្យា ជាពិសេសនៅក្នុងឌីណាមិករាវ
  • ការបណ្តុះបណ្តាលបណ្តាញសរសៃប្រសាទក្នុងបញ្ហារៀនម៉ាស៊ីន
  • ការសម្គាល់មុខ
  • គម្រោងកុំព្យូទ័រដែលបានចែកចាយ ដូចជា [អ៊ីមែល ការពារ] និងគម្រោងផ្សេងទៀតដោយប្រើ BOINC
  • សក្ដានុពលម៉ូលេគុល
  • ការជីកយករ៉ែ cryptocurrencies
  • រចនាសម្ព័ន្ធពីកម្មវិធីចលនា (SfM)

តើ Tensor Core ជាអ្វី?

ស្នូលពិសេសដែលហៅថា Tensor Cores អនុញ្ញាតឱ្យមានការបណ្តុះបណ្តាលភាពជាក់លាក់ចម្រុះ។ ជំនាន់ដំបូងរបស់ស្នូលឯកទេសទាំងនេះធ្វើដូចនេះជាមួយនឹងក្បួនដោះស្រាយការបន្ថែមគុណ។ នេះធ្វើឱ្យវាអាចគុណ និងបន្ថែមម៉ាទ្រីស 4 x 4 FP16 ពីរទៅម៉ាទ្រីស 4 x 4 FP16 ឬ FP32 ។

លទ្ធផលចុងក្រោយនឹងជា FP32 ជាមួយនឹងការបាត់បង់ភាពជាក់លាក់តិចតួចប៉ុណ្ណោះ ការគណនាភាពជាក់លាក់ចម្រុះត្រូវបានកំណត់ថាទោះបីជាម៉ាទ្រីសបញ្ចូលអាចជា FP16 ភាពជាក់លាក់ទាប។

នៅក្នុងការអនុវត្ត នេះបង្កើនល្បឿនការគណនាយ៉ាងខ្លាំង ដោយមានឥទ្ធិពលតិចតួចលើប្រសិទ្ធភាពចុងក្រោយរបស់ម៉ូដែល។ សមត្ថភាពនេះត្រូវបានពង្រីកដោយមីក្រូស្ថាបត្យកម្មក្រោយៗទៀត ដល់ការតំណាងលេខកុំព្យូទ័រកាន់តែច្បាស់លាស់។

ជំនាន់ទីមួយត្រូវបានណែនាំជាមួយនឹងស្ថាបត្យកម្ម Volta microarchitecture ចាប់ផ្តើមពី V100 ទម្រង់ភាពជាក់លាក់នៃលេខកុំព្យូទ័រកាន់តែច្រើនត្រូវបានបង្កើតឡើងសម្រាប់ការគណនាជាមួយ microarchitecture GPU ថ្មីជាមួយនឹងជំនាន់នីមួយៗដែលឆ្លងកាត់។

យើងនឹងនិយាយអំពីរបៀបដែលសមត្ថភាព និងមុខងាររបស់ Tensor Cores បានផ្លាស់ប្តូរ និងធ្វើឱ្យប្រសើរឡើងជាមួយនឹងជំនាន់មីក្រូស្ថាបត្យកម្មនីមួយៗនៅក្នុងផ្នែកខាងក្រោម។

រូបភាពដែលបង្ហាញក្រាហ្វិកដែលបង្កើតឡើងដោយ Titan V

តើ Tensor Cores ដំណើរការយ៉ាងដូចម្តេច?

ជំនាន់ទីមួយ៖

ស្ថាបត្យកម្ម Volta GPU microarchitecture ត្រូវបានរួមបញ្ចូលជាមួយ Tensor Cores ជំនាន់ទីមួយ។ ស្នូលទាំងនេះបានធ្វើឱ្យវាអាចហ្វឹកហាត់ជាមួយនឹងភាពជាក់លាក់ចម្រុះ និងទម្រង់លេខ FP16 ។

វា​អាច​មាន​ការ​ជំរុញ​ដល់​ទៅ 12 ដង​ក្នុង​ការ​បញ្ជូន teraFLOP សម្រាប់ GPUs ជាក់លាក់។ 640 cores នៃថ្នាក់កំពូល V100 ផ្តល់ឱ្យរហូតដល់ទៅ 5 ដងក្នុងល្បឿនដំណើរការជាង Pascal GPUs នៃជំនាន់មុន។

ជំនាន់ទីពីរ៖

ជាមួយនឹងការណែនាំរបស់ Turing GPUs ជំនាន់ទីពីរនៃ Tensor Cores ត្រូវបានណែនាំ។ Int8, Int4, និង Int1 ត្រូវបានបន្ថែមទៅក្នុងបញ្ជីនៃភាពជាក់លាក់របស់ Tensor Core ដែលគាំទ្រ។ពីមុនត្រូវបានកំណត់ត្រឹម FP16 ។

សូម​មើល​ផង​ដែរ: ភាពខុសគ្នារវាងវិចារណញាណនិងសភាវគតិ (ពន្យល់) - ភាពខុសគ្នាទាំងអស់។

ដោយសារតែនីតិវិធីបណ្តុះបណ្តាលភាពជាក់លាក់ចម្រុះ ដំណើរការដំណើរការរបស់ GPU ត្រូវបានកើនឡើងរហូតដល់ 32 ដងបើប្រៀបធៀបទៅនឹង Pascal GPUs ។

ជំនាន់ទីបី៖

ស្ថាបត្យកម្មនៅក្នុង Ampere GPU ពង្រីកលើភាពជឿនលឿនរបស់ Volta និង Turing microarchitectures ដោយបន្ថែមការគាំទ្រសម្រាប់ភាពជាក់លាក់ FP64, TF32 និង bfloat16 ។

ការបណ្ដុះបណ្ដាលការរៀនសូត្រស៊ីជម្រៅ និងសកម្មភាពសន្និដ្ឋានត្រូវបានពន្លឿនកាន់តែច្រើនដោយទម្រង់ជាក់លាក់បន្ថែមទាំងនេះ។ ជាឧទាហរណ៍ ទម្រង់ TF32 ដំណើរការស្រដៀងនឹង FP32 ខណៈពេលដែលធានារហូតដល់ 20x speedups ដោយមិនផ្លាស់ប្តូរលេខកូដណាមួយឡើយ។

បន្ទាប់មក ជាមួយនឹងកូដពីរបីបន្ទាត់ ការអនុវត្តភាពជាក់លាក់ចម្រុះដោយស្វ័យប្រវត្តិនឹងបង្កើនល្បឿនការបណ្តុះបណ្តាលដោយ 2x បន្ថែម។

NVLink ជំនាន់ទី 3 ដើម្បីបើកអន្តរកម្មពហុ GPU ដែលមានល្បឿនលឿនខ្លាំង ស្នូល Ray Tracing ជំនាន់ទី 3 និងឯកទេសជាមួយគណិតវិទ្យាម៉ាទ្រីសតូច គឺជាទិដ្ឋភាពបន្ថែមនៃស្ថាបត្យកម្ម Ampere

ជំនាន់ទីបួន៖

ការចេញផ្សាយនាពេលអនាគតនៃ Tensor Cores ជំនាន់ទី 4 ដែលមានមូលដ្ឋានលើមីក្រូស្ថាបត្យកម្ម Hopper ត្រូវបានគ្រោងទុក។ Tensor Cores ជំនាន់ទី 4 នៅក្នុង H100 បន្ទាប់។

ដែលត្រូវបានរំពឹងថានឹងចេញនៅខែមីនា ឆ្នាំ 2022 នឹងអាចគ្រប់គ្រងទម្រង់ភាពជាក់លាក់ FP8 ហើយយោងទៅតាម NVIDIA នឹងបង្កើនល្បឿនគំរូភាសាដ៏ធំ "ដោយ 30X គួរឱ្យភ្ញាក់ផ្អើល លើសពីជំនាន់មុន។"

កាតក្រាហ្វិក RTX គឺប្រើសម្រាប់បង្ហាញក្រាហ្វិចលឿនខ្លាំង ដោយសារវាមានស្នូលតង់ស៊ីតេ។

ភាពខុសគ្នារវាងស្នូល CUDA និងស្នូល Tensor

ស្នូល Tensor បច្ចុប្បន្នត្រូវបានកំណត់ចំពោះ Titan V និង Tesla V100 ។ ស្នូល CUDA 5120 នៅលើ GPUs ទាំងពីរមានសមត្ថភាពអតិបរមានៃប្រតិបត្តិការគុណ-accumulate ភាពជាក់លាក់តែមួយ (ឧទាហរណ៍ក្នុង fp32: x += y * z) ក្នុងមួយនាឡិកា GPU (ឧ. Tesla V100 PCIe frequency គឺ 1.38Gz) ។

ស្នូល tensor នីមួយៗដំណើរការលើម៉ាទ្រីសតូច 4×4 សម្រាប់ម៉ាទ្រីសតូច។ ក្នុងមួយនាឡិកា GPU មួយ ស្នូលតង់ស៊ីតេនីមួយៗអាចបំពេញប្រតិបត្តិការម៉ាទ្រីសគុណ-កកកុញមួយ។

វាគុណនឹងម៉ាទ្រីស 4 × 4 FP16 ពីរ ហើយបន្ថែមម៉ាទ្រីស 4 × 4 FP32 ដែលលទ្ធផលនៅក្នុង accumulator (នោះក៏ជាម៉ាទ្រីស fp32 4 × 4 ផងដែរ) ។

ដោយសារតែម៉ាទ្រីសបញ្ចូលគឺ fp16 ខណៈពេលដែលលទ្ធផលគុណ និង accumulator គឺ fp32 ក្បួនដោះស្រាយត្រូវបានគេស្គាល់ថាជាភាពជាក់លាក់ចម្រុះ។

ពាក្យត្រឹមត្រូវទំនងជាគ្រាន់តែជា "ស្នូលម៉ាទ្រីស 4×4" ប៉ុន្តែក្រុមទីផ្សារ NVIDIA បានជ្រើសរើសប្រើ "ស្នូលតង់ស៊ីតេ"។

ការពន្យល់ពេញលេញនៃស្នូល Tensor ដោយសង្ខេប

<23
កាត 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)<22 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

GPUs ដែលមានស្នូល CUDA

សេចក្តីសន្និដ្ឋាន

  • CUDA និង Tensor cores គឺជាផលិតផល ទាំងពីរត្រូវបានបង្កើតឡើងដោយក្រុមហ៊ុនមួយដែលមានឈ្មោះថា Nvidia។ CUDA តំណាងឱ្យ Compute Unified Device Architecture ។ ស្នូល CUDA ទាំងនេះមានវត្តមាននៅក្នុង GPU របស់អ្នក ស្មាតហ្វូន និងសូម្បីតែរថយន្តរបស់អ្នក។
  • ចំណែកឯ tensor cores ដែលត្រូវបានបង្កើតឡើងដោយ Nvidia ក៏ត្រូវបានប្រើប្រាស់នៅក្នុង GPUs ផងដែរ។ ស្នូលពិសេសដែលហៅថា "ស្នូល Tensor" អនុញ្ញាតឱ្យមានការបណ្តុះបណ្តាលភាពជាក់លាក់ចម្រុះ។ ជំនាន់ទីមួយនៃ Tensor Cores ធ្វើឱ្យវាអាចហ្វឹកហាត់ជាមួយនឹងភាពជាក់លាក់ចម្រុះ និងទម្រង់លេខ FP16 ។
  • វា​អាច​មាន​ការ​ជំរុញ​ដល់​ទៅ 12 ដង​ក្នុង​ការ​បញ្ជូន​ទិន្នន័យ teraFLOP សម្រាប់ GPU ជាក់លាក់។ Int8, Int4, និង Int1 ត្រូវបានបន្ថែមទៅក្នុងបញ្ជីនៃភាពជាក់លាក់របស់ Tensor Core ដែលគាំទ្រ។
  • ដោយសារការលាយបញ្ចូលគ្នានីតិវិធីបណ្តុះបណ្តាលភាពជាក់លាក់ ដំណើរការរបស់ GPU ត្រូវបានកើនឡើងរហូតដល់ 32 ដង។ ការចេញផ្សាយនាពេលអនាគតនៃ Tensor Cores ជំនាន់ទី 4 ដែលមានមូលដ្ឋានលើ Hopper microarchitecture ត្រូវបានគ្រោងទុក។

អត្ថបទផ្សេងទៀត

    Mary Davis

    Mary Davis គឺជាអ្នកនិពន្ធ អ្នកបង្កើតមាតិកា និងអ្នកស្រាវជ្រាវដែលមានជំនាញក្នុងការវិភាគប្រៀបធៀបលើប្រធានបទផ្សេងៗ។ ជាមួយនឹងសញ្ញាបត្រផ្នែកសារព័ត៌មាន និងបទពិសោធន៍ជាងប្រាំឆ្នាំក្នុងវិស័យនេះ ម៉ារីមានចំណង់ចំណូលចិត្តក្នុងការផ្តល់ព័ត៌មានដែលមិនលំអៀង និងត្រង់ទៅកាន់អ្នកអានរបស់នាង។ ស្នេហារបស់នាងសម្រាប់ការសរសេរបានចាប់ផ្តើមតាំងពីនាងនៅក្មេង ហើយបានក្លាយជាកម្លាំងចលករនៅពីក្រោយអាជីពដ៏ជោគជ័យរបស់នាងក្នុងការសរសេរ។ សមត្ថភាពរបស់ម៉ារីក្នុងការស្រាវជ្រាវ និងបង្ហាញការរកឃើញក្នុងទម្រង់ងាយស្រួលយល់ និងចូលរួមបានធ្វើឱ្យនាងពេញចិត្តចំពោះអ្នកអានទូទាំងពិភពលោក។ ពេលនាងមិនសរសេរ ម៉ារីចូលចិត្តធ្វើដំណើរ អាន និងចំណាយពេលជាមួយគ្រួសារ និងមិត្តភក្តិ។