MPI Programming ตอนที่ 1

 - by NAzT

วันนี้เราลองมาหัดเขียนโปรแกรมแบบ MPI กันดีกว่าครับ ศึกษาจาก Code กันไปเลย ง่ายๆ

แต่ MPI คืออะไรล่ะ?

มันเป็นแบบนี้ครับ เมื่อเราเขียนโปรแกรมแบบ Parallel Computers ซึ่งก็คือการเขียนโปรแกรมที่ให้ Computer หลายตัวช่วยกันประมวลผล (Cluster Computing) พอมีหลายหน่วยประมวลผลแล้วเราก็ต้องมีการส่งข้อมูลไปมาไงครับ

เช่นมีงาน 100 งาน แล้วมี 4 Processors แบ่งกันทำคนละ 25 งาน  พอทำเสร็จแล้วก็ต้องเอางานมารวมกัน ก็ต้องอาศัย MPI เนี่ยแหละครับในการส่งข้อมูลระหว่าง Processor  อันนี้คือความหมายของ MPI แบบคร่าวๆครับผม

MPI = Message Passing Interface  แต่วันนี้ยังไม่มีการส่ง Message ครับผม Code ง่ายๆวันนี้

MPI_0_code

Simple Code

คำอธิบาย Code กด อ่านต่อได้เลยคร้าบบผมม

ต่อๆ

จาก  Code เราจะได้ output แบบในรูปครับผม  mpirun -np 4 แสดงว่าเราทำงานแบบ 4 Processor ครับผม

MPI_0_run

MPI_0_run

ขั้นตอนนี้เมื่อเรารันหลายๆครั้ง ผลลัพธ์จะออกมาไม่เหมือนกันครับ เพราะในแต่ละ Process จะแย่งกันเขียนข้อมูลออกทาง stdout ครับ

ย้อนกลับไปดู Code กันนิดนึงครับ

MPI_0_code

Code again

จะเห็นว่าเราประกาศตัวแปรไว้สองตัวคือ myrank และ p

myrank จะบอกว่า Process นั้นๆจะมีหมายเลขอะไร

p จะบอกว่าเราเรียกโปรแกรมนี้ให้ช่วยกันกี่ Processor ข้างบนคือ 4 ครับ

ส่วน MPI_ ทั้งหลายข้างบนนั่นเราต้องเรียกใช้ทุกครั้งครับ เป็นรูปแบบครับ

Code จาก : http://www.cs.indiana.edu/classes/b673/notes/hello.html

Related Blogs

    เรื่องที่เกี่ยวข้อง