3 คะแนน โดย GN⁺ 2023-12-31 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

พื้นฐานของการประมวลผลเชิงวิทยาศาสตร์

  • เป็นหนังสือที่ครอบคลุมความรู้พื้นฐานทั่วไปเกี่ยวกับการประมวลผลเชิงวิทยาศาสตร์ รวมถึงสถาปัตยกรรมคอมพิวเตอร์ สถาปัตยกรรมคอมพิวเตอร์แบบขนาน เลขคณิตคอมพิวเตอร์ พีชคณิตเชิงเส้น ODE/PDEs เป็นต้น
  • รวมถึงเนื้อหาเกี่ยวกับการที่ทุกอย่างเชื่อมโยงกันอย่างไรในการคำนวณขนาดใหญ่

วิทยาศาสตร์และวิศวกรรมสำหรับการเขียนโปรแกรมแบบขนาน

  • งานด้านการประมวลผลเชิงวิทยาศาสตร์จำนวนมากล้วนเกี่ยวข้องกับการเขียนโปรแกรมแบบขนานในรูปแบบใดรูปแบบหนึ่ง
  • เป็นหนังสือแนะนำเวอร์ชันสมัยใหม่ของ MPI และ OpenMP ที่ยอดเยี่ยมที่สุด พร้อมทั้งมีส่วนสั้น ๆ เกี่ยวกับ PETSc, Kokkos, Sycl และ Co-array Fortran
  • โดดเด่นด้วยการครอบคลุม MPI และ OpenMP ในภาษา C, Fortran, C++ และสำหรับ MPI ยังรวมถึง Python ด้วย

บทนำสู่การเขียนโปรแกรมเชิงวิทยาศาสตร์

  • การเขียนโปรแกรมสำหรับงานวิทยาศาสตร์และวิศวกรรมส่วนใหญ่ทำใน C/C++ และ Fortran
  • เป็นหนังสือที่สอน Modern C++17 (ซึ่งปัจจุบันมักได้รับความนิยมมากกว่า C) และ Fortran2008
  • สามารถอ่านได้ทั้งในฐานะบทนำการเขียนโปรแกรมเชิงวิทยาศาสตร์ตั้งแต่ศูนย์ หรือในฐานะ "C++ สำหรับโปรแกรมเมอร์ C"
  • มีโปรเจกต์เขียนโปรแกรมขนาดยาวหลากหลายรวมอยู่ด้วย

งานช่างไม้ของ HPC

  • ระบบนิเวศของการประมวลผลเชิงวิทยาศาสตร์ไม่ได้มีแค่ภาษาโปรแกรมและระบบการเขียนโปรแกรมแบบขนานเท่านั้น
  • จำเป็นต้องเข้าใจคอมไพเลอร์ ระบบบิลด์ การจัดการซอร์สโค้ด และอื่น ๆ อีกมากมาย โดยหนังสือเล่มนี้ไม่ได้มุ่งจะเป็นงานรวบยอดของทุกเรื่อง แต่เสนอชุดบทนำที่เอนเอียงไปทางเวิร์กโฟลว์เชิงวิทยาศาสตร์

เกี่ยวกับ Victor

  • Victor Eijkhout เป็นนักวิทยาศาสตร์วิจัยแห่ง Texas Advanced Computing Center
  • ตำราเหล่านี้ถูกจัดทำขึ้นระหว่างที่เขาสอนรายวิชาต่าง ๆ ที่มหาวิทยาลัยเท็กซัส วิทยาเขตออสติน
  • หากคุณคิดว่าการที่เขาเปิดหนังสือเหล่านี้สู่สาธารณะเป็นความพยายามที่เกินกว่าหน้าที่ การเลี้ยงกาแฟเขาสักแก้วก็นับเป็นวิธีที่ดี

ความเห็นของ GN⁺

  • ชุดตำรา HPC ของ Victor Eijkhout มอบความรู้ที่ครอบคลุมตั้งแต่พื้นฐานของการประมวลผลเชิงวิทยาศาสตร์ ไปจนถึงการเขียนโปรแกรมแบบขนานและการประยุกต์ใช้จริงของการเขียนโปรแกรมเชิงวิทยาศาสตร์
  • ซีรีส์นี้อาจเป็นแหล่งข้อมูลสำคัญสำหรับวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่ต้องการก้าวเข้าสู่โลกของการประมวลผลสมรรถนะสูง (HPC)
  • ในยุคปัจจุบันที่เทคโนโลยีการประมวลผลมีความสำคัญมากขึ้นเรื่อย ๆ ในแวดวงวิทยาศาสตร์และวิศวกรรม ตำราเหล่านี้จะเป็นแหล่งข้อมูลที่มีประโยชน์และน่าสนใจอย่างยิ่งสำหรับผู้เชี่ยวชาญในสาขาดังกล่าว

1 ความคิดเห็น

 
GN⁺ 2023-12-31
ความคิดเห็นบน Hacker News
  • มุมมองด้านฮาร์ดแวร์และดาต้าเซ็นเตอร์

    • ผู้ใช้คนหนึ่งซึ่งเคยทำงานฝั่งซอฟต์แวร์/บริการที่ AWS เล่าว่า หลังจากได้ฟังเรื่องราวจากพนักงานดาต้าเซ็นเตอร์ ก็ได้ตระหนักว่าการเพิ่มพลังประมวลผลของดาต้าเซ็นเตอร์นั้น ในความเป็นจริงเป็นปัญหาด้านอุณหพลศาสตร์มากกว่าปัญหาการประมวลผล
    • โหนดมีความหนาแน่นสูงมากจนการจ่ายไฟและระบายความร้อนกลายเป็นปัญหาที่ยากมาก และแม้จะพบความไม่มีประสิทธิภาพ ก็ไม่สามารถแก้ได้ด้วยการอัปเดตซอฟต์แวร์
    • ผู้ใช้ระบุว่าสถานการณ์นี้เกิดขึ้นราว 10 ปีก่อน และมองว่าน่าทึ่งที่ Amazon ซึ่งเริ่มต้นจากร้านหนังสือออนไลน์ กลับมาอยู่แนวหน้าของการแก้ปัญหาด้านอุณหพลศาสตร์
  • ระยะห่างของ HPC จากฮาร์ดแวร์

    • มีการชี้ให้เห็นประเด็นที่น่าสนใจว่า HPC ถูกทำให้เป็นนามธรรมแยกจากฮาร์ดแวร์มากเพียงใด
    • หนังสือมักเน้นที่การเขียนโปรแกรมแบบ SPMD, อัลกอริทึม, โครงสร้างข้อมูล, task parallelism, synchronization ฯลฯ แต่แทบไม่กล่าวถึงรายละเอียดสถาปัตยกรรมคอมพิวเตอร์ เช่น ระบบหน่วยความจำของซูเปอร์คอมพิวเตอร์, interconnect แบนด์วิดท์สูง (CXL), สถาปัตยกรรม GPU เป็นต้น
    • มีการตั้งข้อสงสัยว่าเป็นเพราะ abstraction และเครื่องมือต่าง ๆ ดีพอแล้วจนไม่ต้องกังวลรายละเอียดเหล่านี้ หรือในทางปฏิบัติผู้ทำงานด้าน HPC ยังต้องปรับจูน "กล่องดำ" จำนวนมากเพื่อดึงประสิทธิภาพออกมา
  • คำชื่นชมต่อชุดเอกสารของ Victor

    • ผู้ใช้คนหนึ่งชื่นชมชุดเอกสารที่ Victor จัดทำขึ้น โดยบอกว่าตนไม่ได้รู้จัก Victor เป็นการส่วนตัว แต่เคยเรียนปริญญาเอกที่ UT Austin ในช่วงทศวรรษ 1990 และใช้ทรัพยากรของ TACC
    • ในเวลานั้นโปรแกรมเมอร์ต้องทำให้โค้ดของตนขนานได้ด้วยตัวเอง และจำเป็นต้องเข้าใจฮาร์ดแวร์ เพราะวงการยังอยู่ในช่วงเริ่มต้น โดยการแก้ปัญหาต้องอาศัยการอ่านเอกสารอย่าง Cray ring binder และงานของ Gropp เป็นต้น
  • ความสนใจต่อมิติการจัดการฮาร์ดแวร์ของ HPC

    • ผู้ใช้คนหนึ่งแสดงความสนใจว่าบนระบบ HPC มีวิธีตรวจจับและวินิจฉัยปัญหา ตัดสินใจดำเนินการอย่างการรีบูต/ติดตั้งใหม่/ซ่อมแซม และเพิ่มประสิทธิภาพสิ่งเหล่านี้เพื่อให้ได้ระดับการให้บริการที่ดีที่สุดอย่างไร
    • เขาระบุว่าหาข้อมูลได้ยากเกี่ยวกับกรณีที่ต้องเพิ่มประสิทธิภาพหลายเป้าหมายพร้อมกัน เช่น ความพร้อมใช้งานของโหนดเทียบกับ throughput โดยรวม รวมถึงผลของ topology แบบต่าง ๆ ต่อปัญหาเหล่านี้ และข้อจำกัดอื่น ๆ
  • ขอความเห็นเรื่องวิธีเรียน C++

    • โปรแกรมเมอร์ Python ที่มีประสบการณ์คนหนึ่งถามความเห็นของผู้อื่นเกี่ยวกับวิธีเรียน C++ และสงสัยว่ามีข้อเสียเฉพาะอะไรหรือไม่
    • ผู้ใช้นั้นบอกว่าอยากพัฒนาทักษะ C++ ของตน และเห็นว่าหนังสือ 3 เล่มนี้มีระดับที่เหมาะกับตัวเอง
  • ความชื่นชมที่ผู้เขียนแจกตำราฟรี

    • ผู้ใช้คนหนึ่งชื่นชมที่ผู้เขียนสร้างชุดหนังสือที่ครอบคลุม รวมถึง C++ และเครื่องมือ Unix แล้วแบ่งปันให้ฟรี
    • เขาระบุว่าเนื้อหาเป็นประโยชน์ต่อโปรแกรมเมอร์ทุกคน แม้จะไม่ได้เชี่ยวชาญด้าน high-performance computing โดยเฉพาะก็ตาม
  • ย้อนมองวิชาการคำนวณเชิงวิทยาศาสตร์

    • ผู้ใช้ที่เคยเรียนวิชาการคำนวณเชิงวิทยาศาสตร์ในปี 2013 ย้อนมองว่าสาขานี้กว้างมาก จึงมีหลายหัวข้อที่ถูกพูดถึงเพียงสั้น ๆ
    • เขาระบุว่าหากมีรายวิชาระดับภาคการศึกษาที่เจาะลึกด้าน parallel computing โดยเฉพาะก็น่าจะช่วยได้มาก และมองว่าหนังสือชุดนี้น่าจะมีคุณค่ามากหากใช้เป็นส่วนหนึ่งของรายวิชาลักษณะนั้น
  • ประสบการณ์เกี่ยวกับข้อเสนอให้เป็น TA ในหลักสูตรบัณฑิตศึกษา HPC

    • ผู้ใช้คนหนึ่งเล่าว่าเมื่อ 10 ปีก่อนเคยได้รับการชวนให้เป็น TA ของหลักสูตรบัณฑิตศึกษา HPC แต่ปฏิเสธไป
    • เขาบอกว่าถ้ามีหนังสือเล่มนี้อยู่ในตอนนั้น ก็คงจะรับโอกาสนั้นไว้ พร้อมชื่นชมผลงานของผู้เขียน
  • คำชื่นชมต่อ UT Austin

    • มีการกล่าวว่า UT Austin เป็นสถาบันที่โดดเด่นมากในด้าน HPC และวิธีการคำนวณ
  • เนื้อหาที่ดีสำหรับโปรแกรมเมอร์

    • มีการระบุว่าเนื้อหาในหนังสือเป็นประโยชน์ต่อโปรแกรมเมอร์ทุกคน โดยเฉพาะแนวทางแบบเปรียบเทียบในเล่มที่สามซึ่งสอน C++17 และ Fortran2008