2110412+PARALLEL+COMP+ARCH


 * ==ผู้สอน== #ผศ. ดร. เกริก ภิรมย์โสภา #อ.ดร. ณัฐวุฒิ หนูไพโรจน์ #ผศ.ดร. วีระ เหมืองสิน ==เนื้อหาวิชา== แบ่งเป็น 3 ส่วน #Architecture สอนโดย อ.เกริก(Mr.Architecture) จะเรียนเกี่ยวกับ Parallel Computer Architecture ชนิดต่าง ๆ (ให้ความรู้สึกคล้ายกับเรียนวิชา Computer Architecture) เทอม 1/2554 มีมอบหมายงาน(ที่ไม่ต้องส่ง)คือให้ไปอ่าน Paper ของ Jouppi มา #Parallel Programming Paradigm + Performance and Benchmarking + GPU สอนโดย อ.ณัฐวุฒิ(Mr.Grid) เรียนพื้นฐานของ Parallel, การคำนวณ Speed Up (Amdahl's Law, Gustafson's Law) , Benchmark ต่าง ๆ (เรื่อง Benchmark จะเรียนชื่อกับคำอธิบายคร่าว ๆ) , และสุดท้ายจะเรียนเรื่อง GPU ซึ่งจะเรียนสถาปัตยกรรมของ GPU , วิธีใช้ CUDA เขียนโปรแกรมภาษา C/C++ ให้ทำงานบน GPU , และ algorithm 2-3 อันที่เขาใช้กันบน GPU มีการบ้านให้ไปเขียนโปรแกรมคำนวณค่า PI ด้วย GPU ด้วย ซึ่งโปรแกรมเขียนไม่ยากเท่าไหร่ แต่ ณ เทอม 1/2554 เหมือนเกิดการเปลี่ยนแปลงเกี่ยวกับ software ทำให้การ set IDE ให้สามารถเขียนโปรแกรมด้วย CUDA ได้ยากมาก ๆ (อาจารย์บอกว่าปีก่อนหน้านี้ set ง่ายมาก กด install ทีเดียวเสร็จ) #OpenMP + Performance Analysis Tool สอนโดย อ.วีระ(Mr.Cluster) OpenMP คือ API ของ Intel ที่ใช้เขียน multithreaded application ด้วยภาษา C/C++ หรือ Fortran ให้ทำงานบน CPU อาจารย์จะสอนวิธีใช้ API ตัวนี้ด้วยทฤษฏีและตัวอย่าง code C/C++ ต่อจากนี้อาจารย์จะสอน Performance Analysis Tools ต่าง ๆ (ส่วนตัวคิดว่าเนื้อหาส่วนนี้งง ๆ แน่ ๆ ถ้าไม่ได้ลองใช้ Tools ต่าง ๆ จริง ๆ) และเทอม 1/2554 ก็กลายเป็นเทอมโชคร้าย(หรือโชคดีกันแน่หว่า)เพราะเกิดข้อผิดพลาดทางเทคนิคทำให้ไม่ได้ทำ Labs ฝึกใช้ OpenMP กับ Performance Analysis Tools (ปล. อ.วีระ มี sheet มาแจก แต่มักจะขาด ต้องไป xerox เพิ่ม) ==การให้คะแนน== (เทอม 1/2554 ถ้าจำไม่ผิดเป็นแบบนี้) * Midterm 30% - อ.เกริก * Final 55% - อ.ณัฐวุฒิ(25%) + อ.วีระ(30%) * การบ้าน 15% - อ.ณัฐวุฒิ ===ความยากง่ายของเกรด=== เทอม 1/2554 มีคนเรียน 24 คน เท่าที่ได้ถามดูราว 10 คน A 9 คน B+ 1 คน(คาดว่าจะเป็นผู้เสียสละเพียงคนเดียว) ||