CPU / GPU / TPU คืออะไร

Blog นี้เรียกว่าอยู่ดีๆ ก็สงสัยเลยเขียนจดไว้ครับ ถ้าย้อนไปหลาย10 ปีก่อน Keyword ที่ทุกคนรู้จักกัน จะมีตัว CPU และพอยุคถัดมาสาย Gamer หรือสายวิชาการยุคอย่าง Blockchain / distributed computing มีอีกตัวย่อมา GPU ตอนนี้ยุคของ AI มีอีก Keyword มาเพิ่มอย่าง TPU แล้วทั้ง 3 ตัวนี้ต่างกันอย่างไร ?

  • CPU (central processing unit) - เป็นตัวที่ให้คำนวณงานทั่วไปครับ ทำได้ทุกอย่าง แต่ไม่อาจจะไม่สุดครับ
  • GPU (Graphic processing unit) - เน้นการด้านกราฟฟิค ซึ่งจริงๆมีการ Logic การคำนวณที่ดีกว่า CPU ยกตัวอย่าง เช่น CPU จะบวกเลขที่ที่ละคู่ (Scalar) แต่ GPU จะบวกพร้อมกันที่ละหลายคู่ (Vector) เลย จะมองว่าเป็น parallel computing ซึ่งงาน Graphic มันพื้นฐานมาจาก Math GPU เลยมาช่วยคำนวณได้เร็วขึ้น มันจะตอบสนองการ Render ได้ดีครับ และอนาคตมีคนเอาไปทำด้าน Blockchain และขุดเหรียญต่างมากครับ
  • TPU (Tensorflow Processing unit) - น่าจะมาจาก Google ปี2015 ที่มองว่า GPU ยังไม่ได้เหมาะสมกับงานด้าน Data Science / AI เท่าไหร่ เลยปรับ GPU มาเป็น TPU แทน โดยเจ้า TPU จะมองข้อมูลเป็น matrix ถ้าเราทำข้อมูลอยู่ได้ในรูปนี้ได้ตัว Operation จะเร็วขึ้นครับ หลักๆจะเป็นงานด้าน neural network / deep learning

จากภาพข้างล่าง เนื่องจากแนวคิดแต่ CPU / GPU / TPU ต่างกัน ตัว Memory ที่ใช้กับแต่ละตัวมีการ Access ที่ต่างกันด้วยครับ

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.