In [1]:
import os

In [2]:
os.getcwd()


Out[2]:
'/home/users/marcin.kostur/ProgramowanieRownolegle/MPI'

In [3]:
import ipyparallel as ipp
c = ipp.Client(profile='mpi')
print(c.ids)
view = c[:]
view.activate()


[0, 1, 2, 3, 4, 5]

In [4]:
%%px --block 

import os
os.getcwd()


Out[0:2]: '/home/users/marcin.kostur'
Out[1:2]: '/home/users/marcin.kostur'
Out[2:2]: '/home/users/marcin.kostur'
Out[3:2]: '/home/users/marcin.kostur'
Out[4:2]: '/home/users/marcin.kostur'
Out[5:2]: '/home/users/marcin.kostur'

In [10]:
%%writefile test001.py
#%%px --block
from mpi4py import MPI
import time
import numpy as np 
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
t = MPI.Wtime()
print("result =",np.max(np.random.randn(5000,5000//4)))
t = MPI.Wtime() - t
print(rank,":: execution time:",t)


Overwriting test001.py

In [11]:
!mpirun -n 2 python test001.py


result = 5.04487660607
0 :: execution time: 0.2712860107421875
result = 5.10021716865
1 :: execution time: 0.30532407760620117

In [12]:
import numpy as np

In [27]:
x  = np.linspace(0,np.pi,44)
dx = x[1]-x[0]

In [28]:
w = np.ones_like(x)
w[0] = 0.5
w[-1] = 0.5
np.sum(w*dx*np.sin(x))


Out[28]:
1.9991102864118726

In [20]:



Out[20]:
1.5707963267948966

In [ ]: