การใช้งาน MVAPICH

MVAPICH สำหรับ Infiniband

คอมไพล์เลอร์โปรแกรมคุณ

MVAPICH สำหรับ infiniband ติดตั้งอยู่ที่ /usr/local/ibgd/mpi/gcc/mvapich-0.9.5-mlx1.0.4 คำแนะนำการใช้งานต่อไปนี้จะเป็นแบบทีละขั้นตอนอย่างละเอียด เพื่อที่จะคอมไพล์โค้ดของคุณ ให้พิมพ์ path แบบเต็มของคอมไพล์เลอร์ ที่คุณจะนำมาใช้ตามภาษาของโปรแกรมคุณ ดังแสดงตัวอย่างข้างล่างนี้

[user@tera mvapich]$ 
/usr/local/ibgd/mpi/gcc/mvapich-0.9.5-mlx1.0.4/bin/mpicc -o cpi cpi.c

จากตัวอย่างคำสั่งด้านบน ข้อความที่มีสีส้มหมายถึงโค้ดของโปรแกรม MPI และข้อความสีเขียวหมายถึงชื่อโปรแกรมที่สามารถประมวลผลได้ ถ้าคุณต้องการตัวอย่างโค้ดโปรแกรม MPI สามารถดาวน์โหลดได้ที่นี่

ประมวลผลโปรแกรม

หลังจากที่คอมไพล์โปรแกรมของคุณเีรียบร้อยแล้วนั้น คุณจำเป็นต้องส่งงานมาที่ระบบกระจายงาน (scheduling system) โดยคลัสเตอร์นี้ใช้ SGE (Sun Grid Engine) เป็นระบบกระจายงาน วิธีการที่จะประมวลผลโปรแกรมแสดง เป็นทีละขั้นตอนดังต่อไปนี้

  • สร้าง job submission สคริปต์สำหรับตัวกระจายงาน SGE ด้วยโปรแกรมสร้างเอกสารที่คุณถนัด เช่น vi หรือว่า nano

    [user@tera mvapich]$ vi mvapich_test.job
  • ตัวอย่างเนื้อหาที่เขียนลงใน job สคริปต์ คุณสามารถศึกษาเป็นตัวอย่างได้ โดยคุณจะต้องตรวจสอบข้อมูลว่าตำแหน่งโปรแกรมของคุณอยู่ที่ใด แล้วให้ระบุที่ตัวแปล MVAPICH_APP สำหรับตัวแปล $NSLOTS และ $TMPDIR ระบบกระจายงานจะเป็นตัวให้ค่าตัวแปรเหล่านี้

    #!/bin/bash
    #$ -cwd
    #$ -S /bin/bash
    export MVAPICH_HOME=/usr/local/ibgd/mpi/gcc/mvapich-0.9.5-mlx1.0.4
    export MVAPICH_APP=/home/user/mvapich/cpi
    $MVAPICH_HOME/bin/mpirun -np $NSLOTS -machinefile $TMPDIR/machines \
        $MVAPICH_APP
  • เวลาที่จะ้ส่งงานไปที่ระบบกระจายงาน SGE จะต้องมีการกำหนดตัวเลือกเพิ่มเติมในขณะส่งงานไปที่ระบบกระจายงาน เพราะ่ว่าโปรแกรมนี้จะเป็นโปรแกรมแบบขนาน คุณจะต้องกำหนดสภาพแวดล้อมของระบบกระจายงานให้เป็นแบบขนาน (ที่เน้นสีเขียว)และจำนวนโปสเซสเซอร์ที่ต้องใช้ในการประมวลผล (ที่เน้นที่ส้ม)ด้วยตัวเลือก -pe คุณสามารถที่จะระบุคิวอื่นที่นอกเหนือจากคิวมาตราฐานด้วยตัวเลือก -q คุณสามารถศึกษาการใช้งานคำสั่งของ SGE เพิ่มเติมได้ที่ SGE Usage

    [user@tera mvapich]$ qsub -pe mpich 4 -q highperf.q mvapich_test.job
  • แสดงสถานะการทำงานของงานที่ส่งไปที่ระบบกระจายงาน

    [user@tera mvapich]$ qstat
  • ผลลัพทธ์และข้อความการทำงานผิดพลาดของโปรแกรมจะถูกสร้างที่ไดเร็กทอรี่ ที่ส่งงานไปทีระบบกระจายงาน

Powered by Drupal - Design by Artinet