זוהי הפקודה mpiCC.lam שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
mpicc, mpiCC / mpic++ - הידור תוכניות LAM/MPI C/C++.
תַקצִיר
mpicc [-showme|-showme:compile|-showme:link] ...
mpiCC [-showme|-showme:compile|-showme:link] ...
mpic++ [-showme|-showme:compile|-showme:link] ...
אפשרויות
-תראה לי
לא מפעיל את המהדר C/C++ הבסיסי. במקום זאת, הוא מציג את שורת הפקודה
שיבוצע כדי להדר את תוכנית C/C++.
-showme:compile
אינו מפעיל את המהדר C/C++ הבסיסי. במקום זאת, הוא מציג את המהדר
דגלים שיסופקו למהדר C/C++.
-showme:קישור
אינו מפעיל את המהדר C/C++ הבסיסי. במקום זאת, הוא מציג את דגלי המקשר
זה יסופק למהדר C/C++.
לִרְאוֹת cc(1) ו CC(1) (או מה שלא יהיה המהדרים הבסיסיים של C/C++) עבור כל השאר
אפשרויות.
תיאור
mpicc ו mpiCC (mpic++ הוא מילה נרדפת ל- mpiCC מסופק עבור שמות קבצים שאינם תומכים
שמות קבצים תלויי רישיות) הם מעטפת נוחות עבור ה-C ו-C++ המקומיים המקומיים
מהדרים. תרגום של תוכנית LAM מצריך קישור של LAM ספציפי
ספריות שאולי לא נמצאות באחת מספריות החיפוש הסטנדרטיות של ld(1). זה
לעתים קרובות גם דורש הכללת קובצי כותרות מה שאולי גם לא נמצא בתקן
מקום. mpicc מעביר את הטיעונים שלו למהדר C המקומי המקומי יחד עם ה-I, -L
ו-l אפשרויות הנדרשות על ידי תוכניות LAM. זה כולל את כל האפשרויות הדרושות עבור ROMIO
ו/או תמיכה בקשרי C++ (אם תמיכת ROMIO/C++ נכללה בעת הידור של LAM).
mpiCC (ולכן mpic++) דומה, אך מפעיל את המהדר C++ המקורי במקום זאת.
צוות LAM בְּתוֹקֶף מעודד שימוש mpicc ו mpiCC במקום לנסות לקשר
ספריות LAM באופן ידני. זה מאפשר ליישום הספציפי של LAM להשתנות
מבלי לאלץ שינויים בהנחיות הקישור בקבצי Makefile של המשתמשים (הקבוצה הספציפית של
ספריות LAM הבסיסיות כבר השתנו מספר פעמים, וככל הנראה ישתנו שוב
בגרסאות עתידיות).
אכן, מאז mpicc/mpiCC הם עטיפות דקות מאוד על גבי מהדר בסיס, שם
הן מאוד מאוד סיבות משכנעות לֹא כדי להשתמש mpicc/mpiCC. כשאי אפשר
להשתמש mpicc/mpiCC, ה -showme:compile ו -showme:קישור יש להשתמש בטיעונים במקום.
לדוגמה:
shell$ cc -c file1.c `mpicc -showme:compile`
shell$ cc -c file2.c `mpicc -showme:compile`
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
הסביבה וריאציות
כברירת מחדל, mpicc משתמש במהדר C שנבחר כאשר LAM הוגדר (עם ה
--with-cc flag ל-./configure, או על ידי הגדרת משתנה הסביבה CC לפני
./configure הופעל) בתור מהדר C המקומי המקומי, אך ניתן לעקוף זאת על ידי
משתנה סביבה LAMMPICC (שם ישן יותר עבור משתנה סביבה זה הוא LAMHCC --
זה גם עדיין עובד, אבל השימוש בו הוצא משימוש).
כמו כן, mpiCC משתמש במהדר C++ שנבחר כאשר LAM הוגדר (עם
--with-cpp דגל ל-./configure, או על ידי הגדרת משתנה הסביבה CXX לפני הפעלתו
./configure) כברירת מחדל, אך ניתן לעקוף זאת על ידי משתנה הסביבה LAMMPICXX
(שם ישן יותר למשתנה סביבה זה הוא LAMHCP -- גם זה עדיין עובד, אבל זה
השימוש הוצא משימוש).
אם משתנה הסביבה LAMHOME מוגדר, mpicc ו mpiCC ישתמש בערך שלו בתור
מיקום ספריית ההתקנה של LAM במקום הערך שאליו הידור
mpicc/mpiCC. זה אומר ש mpicc/mpiCC ישתמש בערך של LAMHOME כבסיס ל
צור את הארגומנטים -I ו-L המועברים למהדר ברמה נמוכה יותר, לא ל-
ספריית ההתקנה שסופקה כאשר mpicc/mpiCC נוצרו. זה כמעט
תמיד רעיון רע.
השימוש של LAMHOME הוא לא מעודד למעט כמה מקרי תצורה נדירים באופן מוזר
אתרים ברשת (במקרה זה מנהל המערכת שלך כנראה צריך להגדיר זאת), ו
למשתמשים מתקדמים עם מספר התקנות LAM/MPI שיודעים באמת מה הם
מַעֲשֶׂה; אם ה LAMHOME משתנה הסביבה נותר מוגדר באופן לא מכוון, זה יכול להוביל ל
בלבול עצום של משתמשים. לדוגמה, אם LAMHOME מצביע על התקנת LAM A, אבל ה
של המשתמש נתיב מצביע על התקנת LAM B, אז למרות של B mpicc ישמש, ה
תוכנית המשתמש תורכב ותקושר כנגד התקנת LAM A.
השמיים LAMHOME משתנה סביבה נשאר בעיקר רק עבור תאימות לאחור;
זה לא נדרש לתפקוד תקין של LAM/MPI. צוות LAM לא מעודד את השימוש ב
מה היא LAMHOME משתנה סביבה, ובמקום זאת דוגל בהגדרת ה- נתיב כמו שצריך
כדי לעבור בין יישומי LAM/MPI מרובים.
אורים
גרסאות קודמות של LAM עודדו את השימוש ב HCC ו hcp לקמפל LAM ו/או MPI C ו
יישומי C++, בהתאמה. בגרסאות ישנות מאוד של LAM, HCC ו hcp לא
להוסיף אוטומטית -למפי לשורת הפקודה. HCC ו hcp בסופו של דבר הוצאו משימוש ו
הוחלף ב mpicc ו mpiCC (אוֹ mpic++ על מערכות קבצים שאינן תלויות רישיות). ה
הפעלות HCC ו hcp כעת הם פשוט קישורים סמליים ל mpicc ו mpic++, בהתאמה,
רק למקרה שיש מישהו שם שעדיין משתמש בשמות האלה. זה צריך להיות לא מזיק
להעביר את הנוסף -למפי; mpicc ו mpic++ צריך לעשות בשקט את הדבר הנכון (בלבד
קישור בספריית MPI פעם אחת).
השתמש ב-mpiCC.lam באינטרנט באמצעות שירותי onworks.net