CUDA คืออะไร

Athiwat
Machines School
Published in
1 min readJan 15, 2017

CUDA (Compute Unified Device Architecture) คือ แพลตฟอร์มสำหรับการประมวลผลแบบคู่ขนานและ Application Programing Interface (API) พัฒนาโดยบริษัท Nvidia เพื่อให้นักพัฒนาและวิศวกรซอฟต์แวร์สามารถดึงศักยภาพในการประมวลผลแบบขนานของ GPU (Graphic Processing Unit) สำหรับการประมวลผลในงานต่างๆ หรือที่เรียกว่า GPGPU (General-Purpose computing on Graphics Processing Units)

โดยปกติแล้วในเครื่องคอมพิวเตอร์หน้าที่สำหรับการประมวลผลจะเป็นหน้าที่ของ CPU (Central Processing Unit) ซึ่งเป็นหน่วยประมวลผลกลางในการทำงานของคอมพิวเตอร์ ในสมัยก่อนการประมวลผลทางด้านกราฟฟิกจะใช้ CPU เป็นหลัก ส่งผลให้การทำงานของ CPU หนักขึ้นและไม่เพียงพอต่อการทำงานในด้านอื่นๆ GPU จึงเข้ามามีบทบาทในการประมวลผลทางด้านกราฟฟิกแทน เพื่อลดการทำงานของ CPU ทำให้การงานด้านกราฟฟิกมีความลื่นไหลมากยิ่งขึ้น และเมื่อ CPU ทำงานน้อยลง ความร้อนภายในเครื่องก็ลดลงด้วยเช่นกัน

ทำไมต้องใช้ GPU ประมวลผลแทนที่ CPU

เพื่อที่จะเข้าใจถึงความแตกต่างระหว่าง GPU และ CPU ก็ต้องเปรียบเทียบถึงกระบวนการในการทำงานของทั้งคู่ โดยที่ CPU นั้นจะประกอบไปด้วย core เพียงไม่กี่ core จึงเหมาะกับงานในลักษณะที่เรียกว่า Sequential serial processing หรือการประมวลผลแบบลำดับ ในขณะที่ GPU จะประกอบด้วย core ขนาดเล็กจำนวนมากและถูกออกแบบให้มีการกระจายการทำงานในลักษณะ Parallel หรือการประมวลผลแบบคู่ขนาน

GPUs have thousands of cores to process parallel workloads efficiently — See more at: http://www.nvidia.com/object/what-is-gpu-computing.html#sthash.AnWhqB7k.dpuf

โดยงานที่เหมาะกับ GPU จะเป็นงานในลักษณะ Single Instruction Multiple Data stream (SIMD) กล่าวคือใช้การประมวลผลด้วยชุดข้อมูลหลายชุด แต่ทำงานด้วยคำสั่งเดียว

ในปัจจุบันนอกจากงานทางด้านกราฟฟิกแล้ว ยังนิยมนำ GPU มาใช้ประมวลผลในงานปัญญาประดิษฐ์ (Artificial Intelligence หรือ AI) ไม่ว่าจะเป็น Deep Learning, Computer Vision หรือมาประยุกต์ใช้ในระบบรถไร้คนขับ (Self-driving car) หรืองานทางด้านวิทยาศาสตร์และคณิตศาสตร์

ผมทิ้งทายด้วยคลิปวิดีโอที่แสดงถึงความแตกต่างระหว่าง CPU และ GPU ที่แสดงถึงการประมวลผลในลักษณะ Pallarel

__________

“What is CUDA” : https://blogs.nvidia.com/blog/2012/09/10/what-is-cuda-2

--

--

Athiwat
Machines School

Founder of Humaan.ai—Building the integration of humans and AI