Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F71394849
exemple-pNbody.mpi.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Jul 11, 11:57
Size
1 KB
Mime Type
text/x-python
Expires
Sat, Jul 13, 11:57 (2 d)
Engine
blob
Format
Raw Data
Handle
18945958
Attached To
rPNBODY pNbody
exemple-pNbody.mpi.py
View Options
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
from
pNbody
import
mpi
######################
# send recv
######################
tag
=
"send/recv"
data
=
None
if
mpi
.
ThisTask
==
0
:
data
=
7
else
:
data
=
None
if
mpi
.
ThisTask
==
0
:
mpi
.
mpi_send
(
data
,
dest
=
1
)
elif
mpi
.
ThisTask
==
1
:
data
=
mpi
.
mpi_recv
(
source
=
0
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# sendrecv
######################
tag
=
"sendrecv"
data
=
mpi
.
ThisTask
prev
=
(
mpi
.
ThisTask
-
1
)
%
mpi
.
NTask
next
=
(
mpi
.
ThisTask
+
1
)
%
mpi
.
NTask
data
=
mpi
.
mpi_sendrecv
(
data
,
dest
=
next
,
source
=
prev
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# reduce
######################
tag
=
"reduce"
data
=
mpi
.
ThisTask
data
=
mpi
.
mpi_reduce
(
data
,
root
=
0
)
# only root reduce
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# allreduce
######################
tag
=
"allreduce"
data
=
mpi
.
ThisTask
data
=
mpi
.
mpi_allreduce
(
data
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# bcast
######################
tag
=
"bcast"
data
=
mpi
.
ThisTask
data
=
mpi
.
mpi_bcast
(
data
,
root
=
0
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# gather
######################
tag
=
"gather"
data
=
mpi
.
ThisTask
data
=
mpi
.
mpi_gather
(
data
,
root
=
0
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
######################
# allgather
######################
tag
=
"allgather"
data
=
mpi
.
ThisTask
data
=
mpi
.
mpi_allgather
(
data
)
print
tag
,
mpi
.
ThisTask
,
data
mpi
.
mpi_barrier
()
Event Timeline
Log In to Comment