28 ธันวาคม 2008MPI Programming ตอนที่ 1

วันนี้เราลองมาหัดเขียนโปรแกรมแบบ 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


    Tags:
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading ... Loading ...
    blog comments powered by Disqus
    Get Adobe Flash playerPlugin by wpburn.com wordpress themes