Ano ang GPU Computing, at Para Saan Ito?


Ang Mga Graphics Processing Unit (GPU) ay idinisenyo upang mag-render ng mga graphics sa real-time. Gayunpaman, lumalabas na kung bakit ang mga GPU ay mahusay sa mga graphics ay ginagawa rin silang mahusay sa ilang mga hindi-graphic na trabaho. Ito ay kilala bilang GPU computing.

Paano Naiiba ang mga CPU at GPU?

Sa prinsipyo, ang parehong mga GPU at CPU (Central Processing Units) ay mga produkto ng parehong teknolohiya. Sa loob ng bawat device, may mga processor na binubuo ng milyun-milyon hanggang bilyun-bilyong microscopic electronic component, pangunahin ang mga transistor. Ang mga bahaging ito ay bumubuo ng mga elemento ng processor tulad ng mga logic gate at mula doon ay binuo sa mga kumplikadong istruktura na ginagawang binary code ang mga sopistikadong karanasan sa computer na mayroon tayo ngayon.

Ang pangunahing pagkakaiba sa pagitan ng mga CPU at GPU ay parallelism. Sa isang modernong CPU, makakahanap ka ng maraming kumplikado at mahusay na mga core ng CPU. Apat na core ay karaniwang para sa mga mainstream na computer, ngunit ang 6- at walong-core na mga CPU ay nagiging mainstream. Ang mga high-end na propesyonal na computer ay maaaring may dose-dosenang o higit pa sa 100 CPU core, lalo na sa mga multi-socket motherboard na kayang tumanggap ng higit sa isang CPU.

Ang bawat CPU core ay maaaring gumawa ng isa o (na may hyperthreading) ng dalawang bagay sa isang pagkakataon. Gayunpaman, ang trabahong iyon ay maaaring halos anumang bagay at maaari itong maging lubhang kumplikado. Ang mga CPU ay may malawak na iba't ibang mga kakayahan sa pagproseso at hindi kapani-paniwalang matalinong mga disenyo na ginagawang mahusay ang mga ito sa pag-crunch ng kumplikadong matematika.

Ang mga modernong GPU ay karaniwang mayroong libu-libo ng mga simpleng processor sa mga ito. Halimbawa, ang RTX 3090 GPU mula sa Nvidia ay may napakaraming 10496 GPU core. Hindi tulad ng isang CPU, ang bawat GPU core ay medyo simple kung ihahambing at idinisenyo upang gawin ang mga uri ng mga kalkulasyon na tipikal sa gawaing graphics. Hindi lamang iyon, ngunit lahat ng libu-libong mga processor na ito ay maaaring gumana sa isang maliit na piraso ng problema sa pag-render ng graphics nang sabay-sabay. Iyan ang ibig nating sabihin sa parallelism.

General-Purpose Computing sa GPUS (GPGPU)

Tandaan na ang mga CPU ay hindi dalubhasa at maaaring gumawa ng anumang uri ng pagkalkula, gaano man katagal bago matapos ang trabaho. Sa katunayan, ang isang CPU ay maaaring gumawa ng anumang bagay na magagawa ng isang GPU, hindi ito magagawa nang mabilis upang maging kapaki-pakinabang sa mga real-time na application ng graphics.

Kung ito ang kaso, ang kabaligtaran ay totoo rin sa isang lawak. Magagawa ng mga GPU ang ilan sa parehong mga kalkulasyon na karaniwan naming hinihiling sa mga CPU, ngunit dahil mayroon silang katulad na supercomputer na parallel processing na disenyo, magagawa nila ito nang mas mabilis. GPGPU iyon: gamit ang mga GPU para gawin ang mga tradisyunal na workload ng CPU.

Ang mga pangunahing gumagawa ng GPU (NVIDIA at AMD) ay gumagamit ng mga espesyal na programming language at arkitektura upang payagan ang mga user na ma-access ang mga feature ng GPGPU. Sa kaso ng Nvidia, iyon ay CUDA o Compute Unified Device Architecture. Ito ang dahilan kung bakit makikita mo ang kanilang mga GPU processor na tinutukoy bilang mga CUDA core.

Dahil pagmamay-ari ang CUDA, hindi ito magagamit ng mga kakumpitensyang gumagawa ng GPU gaya ng AMD. Sa halip, ginagamit ng mga GPU ng AMD ang OpenCL o Open Computing Language). Ito ay isang wikang GPGPU na nilikha ng isang consortium ng mga kumpanya na kinabibilangan ng Nvidia at Intel.

Mga GPU sa Scientific Research

Binago ng GPU computing kung ano ang magagawa ng mga siyentipiko sa mas maliliit na badyet kaysa dati. Data mining, kung saan ang mga computer ay naghahanap ng mga kawili-wiling pattern sa mga bundok ng data, na nakakakuha ng mga insight na kung hindi man ay mawawala sa ingay.

Ang mga proyekto tulad ng Folding@Home ay gumagamit ng home GPU processing time na naibigay ng mga user para malutas ang mga seryosong problema gaya ng cancer. Ang mga GPU ay kapaki-pakinabang para sa lahat ng uri ng mga simulation na pang-agham at inhinyero na tumagal ng maraming taon upang makumpleto sa nakaraan at milyun-milyong dolyar sa oras na inupahan sa malalaking supercomputer.

Mga GPU sa Artificial Intelligence

Mahusay din ang mga GPU sa ilang uri ng mga trabaho sa artificial intelligence. Ang machine learning (ML) ay mas mabilis sa mga GPU kaysa sa mga CPU at ang pinakabagong mga modelo ng GPU ay may mas espesyal na machine learning hardware na nakapaloob sa mga ito.

Isang praktikal na halimbawa kung paano ginagamit ang mga GPU para isulong ang mga AI application sa totoong mundo ay ang pagdating ng mga self-driving na kotse. Ayon kay Tesla, ang kanilang Autopilot software ay nangangailangan ng 70,000 GPU na oras upang sanayin ang neural net na may mga kasanayan sa pagmamaneho ng sasakyan. Ang paggawa ng parehong trabaho sa mga CPU ay magiging masyadong mahal at matagal.

Mga GPU sa Cryptocurrency Mining

Ang mga GPU ay mahusay din sa pag-crack ng mga cryptographic puzzle, kaya naman naging tanyag ang mga ito sa cryptocurrency mining. Kahit na ang mga GPU ay hindi nagmimina ng cryptocurrency nang kasing bilis ng mga ASIC (Application-specific Integrated Circuits) mayroon silang natatanging bentahe ng pagiging versatile. Ang mga ASIC ay karaniwang maaari lamang magmina ng isang partikular na uri o maliit na grupo ng mga cryptocurrencies at wala nang iba pa.

Ang mga minero ng Cryptocurrency ay isa sa mga pangunahing dahilan kung bakit ang mga GPU ay napakamahal at mahirap hanapin, hindi bababa sa oras ng pagsulat sa unang bahagi ng 2022. Ang pagdanas sa taas ng teknolohiya ng GPU ay nangangahulugan ng pagbabayad ng mahal, kasama ang patuloy na presyo ng isang NVIDIA GeForce RTX 3090 na pagiging mahigit $2,500. Naging isang problema na ang NVIDIA ay artipisyal na nilimitahan ang pagganap ng cryptography ng mga gaming GPU at nagpakilala ng mga espesyal na produkto ng GPU na partikular sa pagmimina.

Maaari Mo ring Gumamit ng GPGPU!

Bagama't maaaring hindi mo ito palaging nalalaman, ang ilan sa software na ginagamit mo araw-araw ay nag-aalis ng ilan sa pagpoproseso nito sa iyong GPU. Kung nagtatrabaho ka sa software sa pag-edit ng video o mga tool sa pagpoproseso ng audio, halimbawa, malaki ang posibilidad na dala ng iyong GPU ang ilan sa pagkarga. Kung gusto mong harapin ang mga proyekto tulad ng paggawa ng sarili mong mga deepfake sa bahay, ang iyong GPU ay muli ang bahagi na ginagawang posible.

Ang GPU ng iyong smartphone ay responsable din sa pagpapatakbo ng marami sa mga artificial intelligence at machine vision na mga trabaho na ipapadala sana sa mga cloud computer upang gawin. Kaya dapat tayong lahat ay magpasalamat na ang mga GPU ay maaaring gumawa ng higit pa sa pagguhit ng isang kaakit-akit na larawan sa iyong screen.