CPU: Central Processing Unit
GPU: Graphics Processing Unit
CPU болон GPU хоёрын гол ялгаа нь CPU нь компьютерийн бүх үндсэн функцийг гүйцэтгэдэг бол GPU нь олон жижиг ажлыг нэгэн зэрэг гүйцэтгэхэд зориулагдсан бүрэлдэхүүн хэсэг юм.
Төв боловсруулах нэгж (CPU) нь хоцролтыг оновчтой болгосон ерөнхий зориулалтын процессор бөгөөд олон төрлийн тодорхой ажлуудыг дэс дарааллаар гүйцэтгэхэд зориулагдсан бол График боловсруулах нэгж (GPU) нь өндөр түвшний зэрэгцээ буюу параллель тооцоолоход зориулагдсан, дамжуулах чадварыг оновчтой болгосон тусгай процессор юм.
CPU | GPU |
Task параллельчлал | Өгөгдөл параллельчлал |
Хэдхэн heavyweight цөм | Олон жижиг lightweight цөм |
Санах ойн хэмжээ өндөр | Санах ойн өндөр дамжуулах чадвар |
Олон төрлийн загварчилгаа | Хэд хэдэн өндөр оновчтой загварчилгаа |
Салангид thread удирдлага | Threads нь техник хангамжаар удирддаг |
CPU нь өндөр цагийн хурдтай цөөхөн heavyweight цөмтэй тул өгөгдлийг дарааллаар нь боловсруулахдаа маш хурдан байдаг. CPU нь хоцролтыг оновчтой болгосон бөгөөд хэд хэдэн даалгаврыг маш хурдан сольж чаддаг бөгөөд энэ нь параллелизм мэт сэтгэгдэл төрүүлж болзошгүй юм. Гэсэн хэдий ч үндсэндээ энэ нь нэг удаад нэг ажлыг гүйцэтгэхэд зориулагдсан юм
CPU limitation
Heavyweight загварууд
Процессорын техник хангамжид улам бүр төвөгтэй загварыг шууд оруулах хандлага нь сул талтай орчин үеийн чиг хандлага юм. Зарим илүү хэцүү заавруудыг гүйцэтгэхийн тулд CPU нь заримдаа хэдэн зуун цагийн мөчлөгөөр эргэх шаардлагатай болдог. Хэдийгээр Intel энэ хязгаарлалтыг багасгахын тулд загварын түвшний параллелизм бүхий загваруудын дамжуулах шугамыг ашигладаг ч энэ нь CPU-ийн ерөнхий гүйцэтгэлд нэмэлт зардал болдог.
Контекст солих хоцролт
Контекст солих хоцролт нь thread хооронд шилжихэд CPU-ийн цөмд шаардагдах хугацаа юм. CPU нь регистр болон төлөвийн хувьсагчдыг хадгалах, кэш санах ойг цэвэрлэх болон бусад төрлийн цэвэрлэх үйлдлүүдийг хийх ёстой тул ажлууд хооронд шилжих нь нэлээд удаан байдаг. Орчин үеийн CPU процессорууд олон ажлын хоцролтыг бууруулдаг ажлын төлөвийн сегментүүдээр дээрх асуудлыг хялбаршуулахыг хичээдэг ч контекст шилжих нь үнэтэй процедур хэвээр байна.
Моорийн хууль
Нэгдсэн хэлхээний нэг квадрат инч тутамд транзисторын тоо хоёр жил тутамд хоёр дахин нэмэгддэг гэсэн ойлголт дуусч магадгүй юм. Цахиурт (силиконд) хэдэн транзистор багтах хязгаар байдаг ч Физикийг давж гарах боломжгүй. Үүний оронд инженерүүд тархсан тооцооллын тусламжтайгаар тооцооллын үр ашгийг нэмэгдүүлэхийг хичээж, квант компьютер дээр туршилт хийж, CPU үйлдвэрлэхэд цахиурыг орлуулахыг оролдож байна.
GPU
График боловсруулах нэгж (GPU) нь тусгайлсан процессор бөгөөд түүний үүрэг нь өндөр зэрэглэлийн параллелизм шаарддаг хэд хэдэн тодорхой ажлуудад зориулж санах ойг хурдан удирдах, компьютерийг хурдасгах явдал юм
GPU нь хэмжээст матрицын арифметик болон хөвөгч цэгийн тооцоололд зориулж зааврын багцыг оновчтой болгосон олон мянган lightweight цөмийг ашигладаг тул өндөр зэрэглэлийн параллелизм шаарддаг шугаман алгебр болон төстэй ажлуудыг гүйцэтгэхэд маш хурдан байдаг. Дүрмээр бол, хэрэв таны алгоритм векторжуулсан өгөгдлийг хүлээн авдаг бол энэ ажил GPU-ээр тооцоолоход тохиромжтой байх магадлалтай.
Архитектурын хувьд GPU-ийн дотоод санах ой нь цэгээс цэгийн холболттой өргөн интерфэйстэй бөгөөд GPU-ийн тухайн агшинд ашиллах өгөгдлийн хэмжээ нэмэгдэхийн хэрээр санах ойг нэмэгдүүлдэг, хурдасгадаг. Энэ нь асар том өгөгдлийг нэг дор хурдан удирдахад зориулагдсан.
GPU limitations
Хүч чадал багатай цөмүүд
Хэдийгээр GPU нь илүү олон цөмтэй ч цагны хурдаараа CPU-ээс бага чадалтай. GPU цөмүүд нь мөн чанар багатай, гэхдээ илүү нарийн загварын багцтай байдаг. Энэ нь тийм ч муу зүйл биш юм, учир нь GPU нь тодорхой ажлуудын жижиг багцуудыг гүйцэтгэхэд маш үр дүнтэй байдаг
Санах ой бага
GPU-ууд нь хамгийн их санах ойн хэмжээгээр хязгаарлагддаг. Хэдийгээр GPU процессорууд нь тухайн агшинд CPU-ээс илүү их хэмжээний мэдээллийг зөөж чаддаг ч GPU санах ойд нэвтрэх хугацаа нь илүү өндөр хоцрогдолтой байдаг
Хязгаарлагдмал API
Хамгийн алдартай GPU API нь OpenCL болон CUDA юм. Харамсалтай нь тэд хоёулаа дибаг хийхэд хэцүү гэдгээрээ алдартай. Хэдийгээр OpenCL нь нээлттэй эх сурвалж боловч Nvidia техник хангамж дээр нэлээд удаан ажилладаг. Нөгөө талаас CUDA нь Nvidiaн өмчлөлийн API бөгөөд Nvidia GPU-д зориулж оновчтой болсон боловч тэдгээрийн техник хангамжийн экосистемд таныг автоматаар түгждэг буюу хязгаарладаг.
Хайлт
Категори
Категори
- 1 минутын уншлага (288)
- 2 минутын уншлага (136)
- Богино прожектууд (9)
- боловсрол (76)
- Зөвлөгөө (22)
- Зөвлөгөө (61)
- Код (37)
- Хөндлөнгийн (14)
Comments
hi