search
by אייל יקיר
אייל יקיר
מקבל משתנה rank ואת Communicator( Comm) ומכניס למשתנה rank את מספר התהליכים שמשתתפים בחישוב. משתנה Communicator מייצג קבוצה של תהליכים והאופי בו הם מחוברים. MPI_Bcast(buf,count,datatype,root,comm) 3.13.2 שולח הודעה אחידה מהתהליך הראשי לכל שאר התהליכים בקבוצה (כולל עצמו). הודעה אחידה נמצאת בקלט buf, מועבר ממשתנה root אל שאר המעבדים ב-Comm. סוג המשתנה ששולחים או מקבלים הוא מסוג datatype וכמות המידע היא במשתנה count MPI_IRecv(buf,count,datatype,source,tag,comm,request) פקודת לא חוסמת של קבלה של הודעה. מזהה אזור בזיכרון שישמש כבאפר, התהליך ממשיך מיד מבלי לחכות שההודעה תתקבל ותועתק ל-Count .buf – כמות המידע, datatype סוג המידע שמתקבל, source – המקור ממנו מקבלים את המידע, id – tag להודעה, משמש כדי להבדיל בין הודעות שונות שנשלחות, request – מיועד לפעולות wait/test. MPI_Allgather(sendbuf,sendcount,sendtype,recvbuf,recvcount,recvtype,comm) פקודת העברת נתונים, אוספת תוצאות מכל המעבדים ואת התוצאה שולחת לכל המעבדים בקבוצה. Sendbuf – הבאפר של המעבד הראשי. Sendcount – כמות המידע. Sendtype – סוג הטיפוס של המידע שנשלח. Recvbuf – הבאפר של המקבלים. Recvcount - כמות המידע של המקבלים. Recvtype – סוג טיפוס של המידע למקבלים. Comm – מקשר MPI_Reduce(sendbuf,recvbuf,count,datatype,op,root,comm) פקודת חישוב קולקטיבית, אוספת ערכים מכל המעבדים למעבד "ראשי" שמוגדר בroot בתוספת פקודה שמבצעים על הערכים שנאספו (כמו חיבור, חיסור, פעולות לוגיות וכו') Sendbuf – הבאפר של השולח, recvbuf – באפר המקבל, count – מספר הערכים, datatype – סוג הטיפוס של המידע, opcode – op, סוג הפקודה, root – המקור, מי שאוסף את המידע, comm – מקשר MPI_Scatter(sendbuf, sendcnt, sendtype, recvbuf, recvcnt, recvtype, root, comm) פקודה השולחת הודעות נבדלות אחת מהשנייה ממקור מסוים לכל שאר התהליכים בקבוצה, מבצעת סוג של פיצול המידע לשאר המעבדים, MPI_AlltoAll(sendbuf, sendcnt, sendtype, recvbuf, recvcnt, recvtype, comm) כל תהליך בקבוצה מבצע שליחה של נתונים שונים לתהליכים שונים. הפקודה מבצעת transpose על המטריצה שמורכבת מהווקטורים שבתוך כלל התהליכים MPI_Init(&argc,&argv) מאתחלת את סביבת עבודת ה-MPI, חייבת להיות בכל תוכנית MPI בהתחלה לפני ביצוע פונקציית MPI אחרת כלשהי, מופיעה פעם אחת. Argc – פוינטר למספר הארגומנטים, argv – פוינטר לווקטור הארגומנט
לפני שנה
0