Hello world

Napiši program hello.py, ki izpiše klasičen pozdrav.

# -*- coding: utf-8 -*-
from mpi4py import MPI
comm = MPI.COMM_WORLD
print “Zdravo!
comm.Barrier()
  1. Poženi program v
  • Ospredju z ukazom node in half tako da je mpirun kot argument ali tako, da greste najprej na vozlišče in tam poženete ukaz. Podajte tudi manjše število procesorjev z ukazom bsub -n št.proc
  • v ozadju z ukazom bsub in izbranim številom procesorjev ter izpisom izhoda v datoteko.
  • V interaktivnem ozadju z ukazom bsub -k
  1. Uporabite naslednji funkciji za določitev številke procesa
size = comm.Get_size()
rank = comm.Get_rank()

in nato uporabite printf() za izpis.

  1. Popravite program, da se izpiše samo glavni proces (rank 0)

Uporabite stavek if. To je koristno, ko imamo veliko procesov.

  1. Kaj se zgodi če izpustimo zadnji stavek? MPI_Init() in MPI_Init_thread() se kličeta ob import mpi4py. Prav tako je nastavljen MPI_Finalize() da se izvede kot ukaz Py_AtExit().
  1. Naredimo tri različne naloge, ki pa naj se hkrati izvedejo
# -*- coding: utf-8 -*- tris.py
from mpi4py import MPI
rank = MPI.COMM_WORLD.Get_rank()

a = 6.0
b = 3.0
if rank == 0:
        print "Rezultat seštevanja:",  a + b
if rank == 1:
        print a * b
if rank == 2:
        print max(a,b)