## MPI - Message Passing Interface ### What is MPI ? MPI is a library used to send messages between processes in a distributed memory model. These messages can contain all types of data such as string or integers but actual objects also. It's not a programming language, it's a programming model that is mostly used for parallel programming in a cluster. In this cluster, there is lot of nodes, but only one is the "chief", also known as master. Others are just workers nodes.  The primary advantage of using MPI is that it allow programmers to split a task and to distribute it to all or some specific workers nodes and allow each node to work on its own task simultaneously. ### Okay ... Tell me more #### The (crucial) Communicator The Communicator is primordial to MPI projects, it allows to different processes to communicate with eachother. Of course, there can be several communicators in one MPI program, they will have theirs own processes. It can be useful if you want to split processes such that only certain processes receive messages to and from each other. Actually, MPI allows two major types of communication : - Point to Point - Collectives #### Point to Point It's the most basic type of communication, which is when processes communicate on one to one basis. For example, P0 talks to P1 and P1 talks to P0. Also, it can be blocking or unblocking. Obviously, blocking state means that the process will not continue until it has received its message. Otherwise, unblocking state means that it can keep executing steps while waiting for its message. Point to Point work on two functions : Send and Receive. * Send function can work on multiple types like : Primitives Types, Serializable Classes and Structures. But sending Serializable Classes can affect performance and sending will be slower than sending primitives type or structures. * Receive function : When you receive a primitive type you must match it directly but not with classes. For example, you can receive a poodle as a dog. #### Collective Communication The other type of communication is Collective, all processes can communicate with each other. It's a better type of communication than Point to Point because it would get messy pretty quickly. There are two primary advantages of using Collective Communication : - Code Readability and Maintainability : * Its easier for programmers to read and maintain code * Faster than Point to Point communications. For example, if you want to send a message to every processes it will use only one simple call, whereas it would require N^2 Point to Point communications, so it would consumes a lot of resources. - Performance : * Message Passing Interface has designed algorithms which are made for collective communication and like why just said before, it is very faster than Point to Point communication. #### Majors Communication's Way with MPI There are the majors communication's way that MPI implements : - Barriers : "Wait for others before proceeding" It just blocks all processes in a point, like a real barrier, and this barrier will open when all processes would be at that point. - All-to-one : "All processes send messages to one" It's when one process is asking all the other processes. - One-to-all : "Sends messages to all processes from one" It's when one process is sending a message to all the other processes. - All-to-all : "All processes send messages to all processes" It's when all processes are sending messages to each other. - Combining results : "Get results from every process and do something with it" It is used to combine data from all other processes and return it to the process who requested it. MPI is used, for example, in Parallel Computing and Monte Carlo Simulations.
author | bbybender | ||||||
---|---|---|---|---|---|---|---|
permlink | mpi-message-passing-interface | ||||||
category | hive-114606 | ||||||
json_metadata | "{"app":"peakd/2022.11.2","format":"markdown","description":"MPI Presentation","tags":["mpi"],"users":[],"image":["https://files.peakd.com/file/peakd-hive/bbybender/Eo6SF55xbVKoj2ZHhxkhjv3QE1JkGk7YgbVoFN2K2cAN4UCNHnbH4r3iLGZBM7o4i6u.png"]}" | ||||||
created | 2022-11-29 17:42:33 | ||||||
last_update | 2022-11-29 17:42:33 | ||||||
depth | 0 | ||||||
children | 2 | ||||||
last_payout | 2022-12-06 17:42:33 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 0.589 HBD | ||||||
curator_payout_value | 1.146 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 3,912 | ||||||
author_reputation | 430,880,037,626 | ||||||
root_title | "MPI - Message Passing Interface" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 118,709,820 | ||||||
net_rshares | 4,773,575,622,475 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
eric-boucher | 0 | 1,915,664,616 | 0.4% | ||
thecryptodrive | 0 | 6,204,574,754 | 0.16% | ||
mammasitta | 0 | 1,020,830,685 | 0.4% | ||
roelandp | 0 | 43,998,937,808 | 5% | ||
cloh76 | 0 | 518,427,110 | 0.4% | ||
djennyfloro | 0 | 1,209,724,699 | 10% | ||
lordvader | 0 | 7,297,326,022 | 0.8% | ||
rmach | 0 | 1,210,151,628 | 5% | ||
lemouth | 0 | 240,566,718,016 | 10% | ||
lamouthe | 0 | 733,455,057 | 10% | ||
tfeldman | 0 | 738,644,995 | 0.4% | ||
metabs | 0 | 954,275,293 | 10% | ||
mcsvi | 0 | 87,199,969,192 | 50% | ||
cnfund | 0 | 1,450,302,254 | 0.8% | ||
justyy | 0 | 3,952,946,876 | 0.8% | ||
curie | 0 | 89,544,347,059 | 0.8% | ||
techslut | 0 | 24,035,450,388 | 4% | ||
roguewriter | 0 | 2,959,751,373 | 5% | ||
steemstem | 0 | 579,231,900,171 | 10% | ||
edb | 0 | 1,177,042,833 | 1% | ||
apsu | 0 | 716,760,759 | 0.28% | ||
walterjay | 0 | 51,496,583,173 | 5% | ||
valth | 0 | 1,476,979,273 | 5% | ||
dna-replication | 0 | 345,654,001 | 10% | ||
privex | 0 | 912,804,046 | 0.8% | ||
dhimmel | 0 | 54,391,358,316 | 2.5% | ||
oluwatobiloba | 0 | 809,762,812 | 10% | ||
elevator09 | 0 | 511,720,889 | 0.4% | ||
federacion45 | 0 | 1,203,011,508 | 0.4% | ||
gamersclassified | 0 | 491,253,310 | 0.4% | ||
iansart | 0 | 1,285,520,979 | 0.4% | ||
forykw | 0 | 4,932,333,835 | 0.4% | ||
mobbs | 0 | 6,897,604,424 | 5% | ||
jerrybanfield | 0 | 2,734,501,331 | 0.8% | ||
rt395 | 0 | 1,507,627,844 | 1.5% | ||
bitrocker2020 | 0 | 1,423,085,073 | 0.12% | ||
sustainablyyours | 0 | 4,213,786,463 | 5% | ||
yehey | 0 | 750,493,822 | 0.8% | ||
arunava | 0 | 1,207,398,144 | 0.08% | ||
juancar347 | 0 | 1,571,055,962 | 0.4% | ||
samminator | 0 | 1,842,992,894 | 0.5% | ||
alexander.alexis | 0 | 5,254,773,993 | 10% | ||
ew-and-patterns | 0 | 7,668,878,897 | 3% | ||
grapthar | 0 | 1,395,127,455 | 0.6% | ||
joeyarnoldvn | 0 | 490,338,840 | 1.47% | ||
gunthertopp | 0 | 10,627,196,793 | 0.2% | ||
flatman | 0 | 649,718,868 | 0.8% | ||
minnowbooster | 0 | 1,133,119,959,481 | 20% | ||
felt.buzz | 0 | 4,906,255,703 | 0.5% | ||
howo | 0 | 296,952,298,812 | 10% | ||
tsoldovieri | 0 | 1,003,316,650 | 5% | ||
neumannsalva | 0 | 579,244,436 | 0.4% | ||
stayoutoftherz | 0 | 18,877,259,016 | 0.2% | ||
abigail-dantes | 0 | 3,631,730,655 | 10% | ||
zonguin | 0 | 604,039,398 | 2.5% | ||
investingpennies | 0 | 1,908,533,833 | 0.8% | ||
mamalikh13 | 0 | 2,245,563,466 | 0.8% | ||
aaronleang | 0 | 5,223,897,044 | 25% | ||
zyx066 | 0 | 624,951,071 | 0.24% | ||
revo | 0 | 1,428,675,084 | 0.8% | ||
djlethalskillz | 0 | 1,412,181,229 | 5% | ||
rocky1 | 0 | 110,947,077,379 | 0.12% | ||
thelordsharvest | 0 | 647,178,519 | 0.8% | ||
aidefr | 0 | 977,077,255 | 5% | ||
therealwolf | 0 | 4,554,088,379 | 0.4% | ||
meno | 0 | 2,986,069,846 | 0.4% | ||
enzor | 0 | 550,101,164 | 10% | ||
kiaazad | 0 | 39,291,112,279 | 100% | ||
dandays | 0 | 1,237,072,180 | 0.16% | ||
sunsea | 0 | 553,736,829 | 0.4% | ||
postpromoter | 0 | 215,885,847,498 | 10% | ||
omstavan | 0 | 6,855,651,629 | 100% | ||
steveconnor | 0 | 617,624,414 | 0.4% | ||
nicole-st | 0 | 828,246,930 | 0.4% | ||
smartsteem | 0 | 19,292,141,524 | 0.4% | ||
kenadis | 0 | 2,537,910,132 | 10% | ||
soluce07 | 0 | 4,652,410,131 | 100% | ||
punchline | 0 | 1,893,281,421 | 0.8% | ||
r00sj3 | 0 | 20,068,747,633 | 5% | ||
anikekirsten | 0 | 531,279,899 | 5% | ||
brotherhood | 0 | 5,444,447,852 | 0.8% | ||
juecoree | 0 | 3,123,177,129 | 7% | ||
intrepidphotos | 0 | 174,457,057,093 | 7.5% | ||
fineartnow | 0 | 501,384,655 | 0.4% | ||
oscarina | 0 | 721,162,578 | 10% | ||
communitybank | 0 | 918,665,005 | 0.8% | ||
fragmentarion | 0 | 2,455,719,965 | 10% | ||
utube | 0 | 608,958,626 | 0.8% | ||
neneandy | 0 | 875,007,213 | 0.8% | ||
pab.ink | 0 | 6,332,741,886 | 5% | ||
sportscontest | 0 | 746,283,541 | 0.8% | ||
pandasquad | 0 | 1,129,067,217 | 0.8% | ||
fantasycrypto | 0 | 608,371,022 | 0.8% | ||
geopolis | 0 | 620,329,392 | 10% | ||
ajfernandez | 0 | 770,706,229 | 100% | ||
robertbira | 0 | 1,040,493,863 | 2.5% | ||
alexdory | 0 | 1,406,281,205 | 10% | ||
takowi | 0 | 14,274,679,387 | 0.8% | ||
irgendwo | 0 | 1,971,901,167 | 0.8% | ||
cyprianj | 0 | 2,034,916,672 | 5% | ||
melvin7 | 0 | 3,081,631,736 | 5% | ||
francostem | 0 | 1,338,347,612 | 10% | ||
superlotto | 0 | 2,070,243,751 | 0.8% | ||
sanderjansenart | 0 | 632,964,317 | 0.4% | ||
gadrian | 0 | 42,163,159,440 | 7.5% | ||
de-stem | 0 | 5,434,249,724 | 9.9% | ||
imcore | 0 | 864,441,336 | 10% | ||
achimmertens | 0 | 750,301,600 | 0.4% | ||
meanbees | 0 | 14,381,326,865 | 10% | ||
deholt | 0 | 538,096,649 | 8.5% | ||
robmolecule | 0 | 40,379,449,268 | 20% | ||
diabonua | 0 | 708,500,635 | 0.4% | ||
pladozero | 0 | 32,793,015,356 | 10% | ||
nateaguila | 0 | 148,220,274,883 | 5% | ||
temitayo-pelumi | 0 | 790,848,972 | 10% | ||
motherofalegend | 0 | 1,441,226,062 | 5% | ||
realkiki85 | 0 | 4,840,493,522 | 100% | ||
uche-nna | 0 | 645,065,304 | 0.64% | ||
citizendog | 0 | 659,605,034 | 0.8% | ||
cheese4ead | 0 | 504,144,887 | 0.4% | ||
talentclub | 0 | 815,519,302 | 0.4% | ||
bflanagin | 0 | 919,058,227 | 0.4% | ||
armandosodano | 0 | 1,639,827,017 | 0.4% | ||
goblinknackers | 0 | 31,547,263,004 | 7% | ||
cubapl | 0 | 550,426,241 | 5% | ||
cleanplanet | 0 | 2,195,092,276 | 0.24% | ||
thelittlebank | 0 | 2,461,361,413 | 0.4% | ||
pboulet | 0 | 155,903,811,285 | 100% | ||
agrovision | 0 | 1,834,134,785 | 5% | ||
brianoflondon | 0 | 4,941,674,187 | 0.12% | ||
esthersanchez | 0 | 3,878,231,872 | 60% | ||
steemcryptosicko | 0 | 1,696,748,741 | 0.16% | ||
cakemonster | 0 | 659,884,346 | 0.8% | ||
stem.witness | 0 | 548,779,348 | 10% | ||
devann | 0 | 8,573,317,321 | 3% | ||
chipdip | 0 | 1,523,577,879 | 20% | ||
steemstorage | 0 | 909,813,731 | 0.8% | ||
crowdwitness | 0 | 5,922,483,248 | 5% | ||
apokruphos | 0 | 3,267,806,438 | 1% | ||
synergized | 0 | 662,696,832 | 5% | ||
steemean | 0 | 10,008,884,135 | 5% | ||
extravagante | 0 | 1,734,488,613 | 100% | ||
eliana-art | 0 | 1,063,626,715 | 100% | ||
robibasa | 0 | 25,608,437,557 | 10% | ||
tinyhousecryptos | 0 | 490,569,700 | 5% | ||
aicu | 0 | 4,857,047,159 | 0.8% | ||
walterprofe | 0 | 4,687,860,324 | 5% | ||
zeruxanime | 0 | 1,520,336,261 | 5% | ||
beta500 | 0 | 814,305,238 | 0.8% | ||
steemstem-trig | 0 | 774,250,898 | 10% | ||
dmoonfire | 0 | 29,160,324,335 | 71% | ||
atheistrepublic | 0 | 810,853,361 | 0.4% | ||
ibt-survival | 0 | 33,973,357,463 | 10% | ||
jennyferandtony | 0 | 1,371,724,914 | 100% | ||
roamingsparrow | 0 | 1,000,746,258 | 0.4% | ||
hivebuzz | 0 | 8,581,107,107 | 2% | ||
laruche | 0 | 49,683,638,758 | 1% | ||
stemsocial | 0 | 84,029,637,360 | 10% | ||
holoferncro | 0 | 2,172,502,721 | 5% | ||
taniagonzalez | 0 | 1,534,094,309 | 10% | ||
noelyss | 0 | 3,030,373,122 | 5% | ||
aabcent | 0 | 1,651,854,138 | 0.64% | ||
nbs.gmbh | 0 | 60,262,617,299 | 0.8% | ||
meritocracy | 0 | 8,634,811,392 | 0.08% | ||
dcrops | 0 | 5,639,652,560 | 0.4% | ||
traderhive | 0 | 737,930,046 | 0.8% | ||
drricksanchez | 0 | 1,879,648,527 | 0.4% | ||
nfttunz | 0 | 1,270,885,709 | 0.08% | ||
podping | 0 | 577,076,430 | 0.12% | ||
seinkalar | 0 | 499,475,789 | 0.8% | ||
aries90 | 0 | 5,757,288,163 | 0.8% | ||
hyun-soo | 0 | 613,461,696 | 5% | ||
gejzep | 0 | 10,843,340,225 | 5% | ||
simonm32 | 0 | 1,782,878,975 | 90% | ||
wrestorgonline | 0 | 469,029,130,044 | 5% | ||
sam9999 | 0 | 888,483,223 | 5% | ||
dondido | 0 | 3,406,720,199 | 0.8% | ||
jfuji | 0 | 580,582,581 | 2.5% | ||
minas-glory | 0 | 746,068,773 | 0.4% | ||
the-grandmaster | 0 | 621,896,392 | 0.4% | ||
the-burn | 0 | 797,945,913 | 0.4% | ||
ambicrypto | 0 | 1,667,395,793 | 0.8% | ||
superuser3 | 0 | 2,019,120,044 | 5% | ||
iamludal | 0 | 658,368,808 | 100% | ||
bbybender | 0 | 651,881,839 | 100% | ||
blackerzx | 0 | 658,298,541 | 100% | ||
benjil | 0 | 821,346,231 | 100% | ||
moh4m | 0 | 284,171,516 | 100% | ||
reverio | 0 | 801,553,726 | 5% |
Congratulations @bbybender! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s) <table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@bbybender/upvotes.png?202211292254"></td><td>You distributed more than 10 upvotes.<br>Your next target is to reach 50 upvotes.</td></tr> </table> <sub>_You can view your badges on [your board](https://hivebuzz.me/@bbybender) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> To support your work, I also upvoted your post! **Check out the last post from @hivebuzz:** <table><tr><td><a href="/hive-102201/@hivebuzz/wc2022-recap-day10"><img src="https://images.hive.blog/64x128/https://i.imgur.com/uNPMgnd.png"></a></td><td><a href="/hive-102201/@hivebuzz/wc2022-recap-day10">HiveBuzz World Cup Contest - Recap of Day 10</a></td></tr><tr><td><a href="/hive-122221/@hivebuzz/pud-202212"><img src="https://images.hive.blog/64x128/https://i.imgur.com/805FIIt.jpg"></a></td><td><a href="/hive-122221/@hivebuzz/pud-202212">Hive Power Up Day - December 1st 2022</a></td></tr><tr><td><a href="/hive-102201/@hivebuzz/wc2022-ranking"><img src="https://images.hive.blog/64x128/https://i.imgur.com/8kplXrX.png"></a></td><td><a href="/hive-102201/@hivebuzz/wc2022-ranking">HiveBuzz World Cup Contest - Check your ranking</a></td></tr></table> ###### Support the HiveBuzz project. [Vote](https://hivesigner.com/sign/update_proposal_votes?proposal_ids=%5B%22199%22%5D&approve=true) for [our proposal](https://peakd.com/me/proposals/199)!
author | hivebuzz |
---|---|
permlink | notify-bbybender-20221129t230018 |
category | hive-114606 |
json_metadata | {"image":["http://hivebuzz.me/notify.t6.png"]} |
created | 2022-11-29 23:00:18 |
last_update | 2022-11-29 23:00:18 |
depth | 1 |
children | 0 |
last_payout | 2022-12-06 23:00:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,679 |
author_reputation | 370,644,324,628,504 |
root_title | "MPI - Message Passing Interface" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 118,718,586 |
net_rshares | 0 |
<div class='text-justify'> <div class='pull-left'> <img src='https://stem.openhive.network/images/stemsocialsupport7.png'> </div> Thanks for your contribution to the <a href='/trending/hive-196387'>STEMsocial community</a>. Feel free to join us on <a href='https://discord.gg/9c7pKVD'>discord</a> to get to know the rest of us! Please consider delegating to the @stemsocial account (85% of the curation rewards are returned). You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. <br /> <br /> </div>
author | stemsocial |
---|---|
permlink | re-bbybender-mpi-message-passing-interface-20221204t044811133z |
category | hive-114606 |
json_metadata | {"app":"STEMsocial"} |
created | 2022-12-04 04:48:09 |
last_update | 2022-12-04 04:48:09 |
depth | 1 |
children | 0 |
last_payout | 2022-12-11 04:48:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 565 |
author_reputation | 22,911,435,184,347 |
root_title | "MPI - Message Passing Interface" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 118,833,453 |
net_rshares | 0 |