Chapel

צילום מסך תוכנה:
Chapel
פרטי תוכנה:
גרסה: 1.3.0 Pre-Alpha
טען תאריך: 11 May 15
מפתחים: Cray Inc.
רשיון: ללא תשלום
פופולריות: 12

Rating: nan/5 (Total Votes: 0)

הקפלה היא שפת תכנות המקביל חדשה שפותחה על ידי קריי Inc כחלק מהתכנית בראשות DARPA פריון מערכות מחשוב הגבוה (HPCS). קפלה נועדה לשפר את הפרודוקטיביות של משתמשי מחשב high-end בעת גם משמש כמודל תכנות מקביל נייד, שניתן להשתמש באשכולות סחורות או מערכות מרובות ליבות שולחן עבודה. קפלה שואפת לשפר בהרבה תכנות מחשבים במקביל בקנה מידה גדולה תוך התאמה או להכות את הביצועים ואת הטלטלות של דגמי תכנות הנוכחיים כמו MPI.
האפליקציה הקפלה תומכת מודל ביצוע מרובה הליכי באמצעות הפשטות ברמה גבוהה להקבלת נתונים, הקבלה משימה, מקביליות, והקבלה מקוננת & nbsp;. סוג האזור של הקפלה מאפשר למשתמשים לציין וסיבה על המיקום של נתונים ומשימות על ארכיטקטורת יעד כדי למנגינה ליישוב. קפלה תומכת מצרפי נתונים הגלובליים עם נוף ליישומים מוגדר על ידי משתמש, המאפשרת פעולות על מבני נתונים מבוזרים להתבטא באופן טבעי. בניגוד לשפות רבות במקביל ברמה גבוהה יותר קודמות, קפלה בנויה סביב פילוסופיה multiresolution, המאפשרת למשתמשים בתחילה לכתוב קוד מאוד מופשט ולאחר מכן בהדרגה להוסיף עוד פרט עד שהם קרובים למכונה כצרכימים שלהם דורשים. הקפלה תומכת שימוש חוזר בקוד ודיגום מהיר באמצעות עיצוב מונחת עצמים, היקש סוג, ותכונות לתכנות גנרי.
הקפלה תוכננה מהעקרונות הראשונים ולא על ידי הרחבת שפה הקיימת. זה שפה מובנה לחסום הכרחית, שנועדה להיות קל ללמוד למשתמשים של C, C ++, Fortran, Java, Perl, Matlab, ושפות פופולריות אחרות. בעוד הקפלה בונה על מושגים ותחביר משפות רבות קודמות, התכונות המקבילות שלה מושפעות באופן ישיר ביותר על ידי ZPL, ביצועים גבוהים Fortran (HPF), וMTA קריי ומסחר; / קריי XMT ומסחר; הרחבות ל- C ופורטרן

מה חדש בהודעה זו:.

  • הבהרה (ראה בהמשך)
  • >
  • פיצול "def 'מילת מפתח ל'proc' (לנהלים) ו'ITER '(ל& לבן)
  • (ראה '$ CHPL_HOME / util / להמיר-defs --help' לעזרת עדכון קודים קיימים)
  • הפצה הוסיף "משוכפלת" והפצה 'בלוק-מחזורית "משופרת
  • (ראה & quot; רגילה הפצות & quot; במפרט ודוגמאות / פריימרים / distributions.chpl)
  • הוסיף שכבות משימה אחת-מקום לNanos ++ (BSC) וQthreads (Sandia)
  • (ראה doc / README.tasks)
  • עיבוד מרכזי של סמנטיקת טווח ויישום
  • (ראה & quot; שינויים סמנטיים / שינויים בקפלת שפה & quot; להלן פירוט)
  • תמיכה ראשונית לסוגים הפכפכים: bool, int, uint, אמיתי, מתאר לעצמי
  • (ראה doc / technotes / README.volatile)
  • התמיכה consts ושיעורי extern (structs מצביעים ל-)
  • (ראה doc / technotes / README.extern)
  • תמיכה משופרת להקבלת נתונים על XMT קריי
  • שיפורים נרחבים לקודי המדגם בדוגמאות / הספרייה
  • (ראה "קודי דוגמא 'להלן ודוגמאות / README)
  • הוסיף רוב דוגמאות קוד מהמפרט לדוגמאות / ספרייה חדשה
  • (ראה דוגמאות / מפרט / *)
  • הוסיף הערה טכנית המתאר את ממשק מפת תחום מוגדר על ידי המשתמש
  • (ראה doc / technotes / README.dsi)
  • עדכונים נרחבים למפרט השפה
  • (ראה 'תיעוד' להלן)
  • מספר שיפורים למשימות הריצה ושכבות תקשורת
  • (ראה & quot; ספריית זמן ריצה שינויים & quot; להלן)
  • תחבירי / שמות שינויים
  • פיצול "def 'מילת מפתח ל'proc' (לנהלים) ו'ITER '(ל& לבן)
  • (ראה '$ CHPL_HOME / util / להמיר-defs --help' לעזרת עדכון קודים קיימים)
  • תחומים 'חשבון' שינו את השם / מערכים לתחומים 'מלבניים' / מערכים
  • הוסיף תמיכה לצף literals נקודה של הטופס '1.e ...'
  • (בעבר, "1E ... 'בלבד ו'1.0e ..." היו נתמכים)
  • שינויים סמנטיים / שינויים בקפלת השפה
  • מספר שיפורים לטווחים (ראה 'טווחים' פרק במפרט השפה):
  • הוסיף מושג היישור כדי לציין מודולו יישור | צעד |
  • הוסיף מפעיל 'ליישר' ושאילתא לטווחים לציין / יישור שאילתא
  • (לדוגמא, '1..10 ידי 3 ליישר 2' = & gt; '2, 5, 8' מאז 2 == == 5 8, mod 3)
  • == המוגדר בטווחים במונחים של הרצפים השלמים שהם מייצרים
  • זיהוי מוגדר (R1, R2) לומר אם R1 ו R2 הוא סמנטי זהים
  • מוגדר 'יא #' לK & lt; 0 כמשמעות & quot; לספור מסוף הטווח & quot;
  • הוסיף 'ראשון', 'alignedLow,' 'האחרונים' השיטות 'alignedHigh לטווחים
  • (לדוגמא, '1..10 ידי -2' = & gt; == הראשון 10, == האחרון 2, alignedLow = 2, alignedHigh = 10)
  • הוסיף תמיכה עבור מגוון רחב של פונקציות שאילתא מגוון חדשות
  • (לדוגמא, alignLow (), hasFirst (), hasLowBound (), isAligned (), boundsCheck () ...)
  • הוסיף תמיכה בול נדיפים, int, uint, אמיתי, וסוגים מתארים לעצמי
  • (ראה doc / technotes / README.volatile)
  • הוסיף סימון סוף הקובץ לסוג הקובץ
  • ('זמן! Infile.eof ... "לדוגמה, SpellCheckerService.,)
  • הסיר את התמיכה לטיפול ב'תמורה 'באיטרטור כ'תשואה'
  • (לדוגמא, שינוי 'foo ITER () {x תמורה;}' ל 'foo ITER () {x תשואה; תמורה;}')
  • הוסיף תמיכה למודולים התייחסות ללא
  • ing-use' 'הראשון
  • (לדוגמא, מודול M1 {x} var ... מודול M2 {... M1.x ...} הוא כעת חוקי)
  • הוסיף שאילתא callStackSize לסוג האזור
  • (לדוגמא, 'here.callStackSize' מחזירה את גודל שיחת ערימה על האזור הנוכחי)
  • הסיר את פסיק בעבר נדרש מסוף הצהרות enum
  • (לדוגמא, 'צבעים של enum {האדום, כחול, ירוק}' היא החברה משפטית; צורך בעבר ';')
  • הוסיף תמיכה לפסיק נגרר אחת בסוף רשימות enum
  • (לדוגמא, 'צבעים של enum {אדום, כחולה, ירוקה,}' היא כעת חוקי)
  • הסיר את התמיכה ל+/- מפעילים בתחומים מלבניים; להשתמש תרגום ()
  • תכונות מיושם חדש
  • == מיושם /! = למלבני, אסוציאטיבי, ותחומים דלילים
  • הפצות רגילה
  • הוסיף הפצה "משוכפלת" ראשונה-טיוטה לאחסון נתונים מיותר
  • (ראה דוגמאות / פריימרים / distributions.chpl)
  • משופר 'בלוק-מחזורי ", מספיק כדי ליישם כראוי HPCC PTRANS וHPL
  • (ראה דוגמאות / HPCC / ptrans.chpl, hpl.chpl; דוגמאות / פריימרים / distributions.chpl)
  • יתירות הוסרה במפרט של & לבן מנהיג בין תחומים / מערכים
  • מודולים סטנדרטיים
  • הוסיף קבועי INFINITY וNAN למודול Math.chpl
  • (ראה 'מתמטיקה' תחת & quot; רגילים מודולים & quot; במפרט שפה)
  • הוסיף isinf () וisfinite () שגרה מבחן למודול Math.chpl
  • (ראה 'מתמטיקה' תחת & quot; רגילים מודולים & quot; במפרט שפה)
  • הוסיף חצי תריסר יותר שגרה למודול GMP.chpl
  • תיעוד
  • הוסיף הערה טכנית חדשה המתאר את ממשק מפת תחום מוגדר על ידי המשתמש
  • (ראה doc / technotes / README.dsi)
  • עשה שיפורים רבים למפרט השפה
  • שינויים עיקריים בפרק תחומים כדי לשפר את הבהירות / דיוק

  • פרקים
  • השתפר ומבנה אחיד לתקליטים וחוגים
  • שינויים עיקריים בפרק מפות דומיין כדי לשפר את הבהירות / דיוק
  • קודי דוגמא שם לספק הפניה מקושרת לדוגמאות / מפרט / תוכניות
  • הבהיר את חוקיותה של תווית / הפסקה / להמשיך בלולאות מקבילות
  • מתעדכן התיאורים [LN] / לכתוב [LN]
  • לקרוא
  • קבועים כמה בעיות בתחומים קובץ הזמנה
  • מחדש המפרט כמו 'ספר' בLaTeX
  • תיקונים קלים שונים של שגיאות הקלדה / טעויות
  • הגדרות משופרות / תיאורים של כמה מונחים
  • הוסיף תיעוד של locale.name
  • ושינויים רבים אחרים ...
  • מסמך התייחסות מהירה מעודכן לכלול def- & gt; proc / שינוי ITER, ליישר אופ
  • .
  • שכתב / מחדש README.extern להבהיר הסברים ולהעלות עדכני
  • הוסיף README המתאר את ההצהרה "המקומית" (doc / technotes / README.local)
  • הוסיף README המתאר סוגים נדיפים (doc / technotes / README.volatile)
  • README.comm אבחון מעודכן להזכיר סטטיסטיקת מזלג מהירה
  • קבצי README שונים מעודכנים
  • קודי דוגמא
  • להציב ביותר דוגמאות הקוד ממפרט השפה. למפרט / ספריית משנה חדשה
  • שיפר את פריימרים / הספרייה:
  • הוסיף פריימר חדש לשימוש בנהלים (פריימרים / procedures.chpl)
  • הוסיף פריימר בסיסי לתחומים (פריימרים / domains.chpl)
  • שם היישובים פריימר לlocales.chpl ושיפר אותה
  • שיפר את פריימר ההפצות והוסיף שימושי בלוק-מחזוריים ומשוכפלים
  • מתעדכן פריימר הטווח (פריימרים / range.chpl)
  • שיפרתי את פריימר & הלבן (צבעי יסוד / iterators.chpl)
  • שיפרתי את פריימר ההפחתות (פריימרים / reductions.chpl)
  • הוסיף getCurrentTime () לפריימר טיימרים (פריימרים / timers.chpl)
  • הוסיף תיאורים של כינויי סוג וסוגי config לפריימר משתנים
  • (ראה פריימרים / variables.chpl)
  • ספריית HPCC / מבחני ביצועים משופרים
  • הוסיף גרסה הראשונה של HPCC PTRANS לHPCC / ספרייה (ptrans.chpl)
  • הוסיף גרסה נקיה של HPL HPCC לHPCC / ספרייה (hpl.chpl)
  • הוסיף גרסאות / ספריית משנה לדוגמאות / HPCC להציג גישות אחרות
  • הוסיף זרם-promoted.chpl להראות שימוש בקידום בעולם STREAM שלישייה
  • הוסיף RA-cleanloop.chpl להראות נקי (אבל כרגע איטי יותר) ליבת RA
  • דוגמאות ברמה העליונה השתפרו:
  • שם הקיים & quot; שלום, עולם & quot; דוגמאות להציע סדר קריאה לוגי
  • (ראה דוגמאות / שלום * .chpl)
  • הוסיף נתונים נתונים מקבילים והופצו במקביל שלום, דוגמאות בעולם
  • (ראה דוגמאות / hello3-datapar.chpl, דוגמאות / hello4-datapar-dist.chpl)
  • הוסיף תגובות לשונות שלום, דוגמאות בעולם (דוגמאות / שלום * .chpl)
  • מתעדכן כל דוגמאות לסמנטיקת שפה נוכחית
  • להשתמש 'proc' / 'ITER' ולא 'def'
  • עדכון לשקף סמנטיקת מגוון חדשה
  • הערות פלטפורמה ספציפית
  • לקריי XT / קריי XE, שיפר את משגרי aprun וPBS-aprun
  • (ראה & quot; משגר ספציפי הערות & quot; להלן)
  • לקריי XMT, הוסיף תמיכה בלולאות מקבילות על טווחים
  • לקריי XMT, הוסיף דור של pragmas noalias לforall משתני לולאה
  • הוסיף תמיכה למלון מרנוסטרום של BSC כולל מסמכים ומשגר מיוחד
  • (ראה doc / פלטפורמות / README.marenostrum)
  • הערות משגר ספציפי
  • הוסיף אפשרויות משגר ספציפי ל--help יכולת
  • הפצה של קודי מצב השתפרה יציאה דרך משגרים
  • שינה משגרים לתמוך מבוסס exec (ולא מבוסס מערכת) פקודות
  • עשה משגרים להשתמש "בטלו את הקישור 'ולא מערכת (" rm') כדי להסיר קבצים זמניים
  • הוסיף משגר למלון מרנוסטרום של BSC
  • מספר מופחת של קבצים זמניים המשמשים ללכידת פלט של 'מערכת' פקודות
  • שיפורי משגר aprun:
  • הוסיף דגל --cc לציין משימת מעבד w / בצומת
  • הוסיף דגל -q להפעיל את המשגר ​​במצב שקט
  • הוסיף יכולת ניפוי באמצעות CHPL_LAUNCHER_DEBUG לשמור קבצי tmp סביב
  • שיפורי משגר PBS-aprun:
  • הוסיף דגל --cc לציין משימת מעבד w / בצומת
  • הוסיף יכולת ניפוי באמצעות CHPL_LAUNCHER_DEBUG לשמור קבצי tmp סביב
  • פלט ניקה להיפטר מכמה הדפסה זרות
  • תמיכת משגר עשתה מערכת בדיקה
  • הוסיף --walltime ודגלי --queue למשגר כחלופות למעטפה. VARs.
  • שינויי Compiler
  • עשה הדפסת מהדר / 'שקר' 'אמיתית' בחתימות סוג ולא 1/0
  • הוסיף פרמטר config "noRefCount 'להשבית ספירת הפניות (עלול לדלוף זיכרון)
  • דגלי Compiler
  • הוסיף דגל --print-callstack-על-שגיאה להראות מה הוביל לשיחה רעה
  • הוסיף דגל --no-Codegen לדלג קוד-דור ושלב מקשר
  • יכולת פעולה הדדית שינויים
  • הוסיף תמיכה ל- C & quot extern; כיתות & quot; (סוגי המצביע לstruct)
  • הוסיף תמיכה לconsts extern (ראה README.extern)
  • שיפורים הודעת שגיאה
  • הוסיף יתומים אזהרת הצהרות 'שימוש' מחוץ למודולים הכריזו
  • (לדוגמא, "להשתמש M1; מודול M2 {} 'צריך בדרך כלל להיות' מודול M2 {השימוש M1;} ')
  • עשה הודעת השגיאה לנתח בזמן להשתמש ב'שם הקובץ: lineno: 'הסטנדרטי בפורמט
  • נוצר הודעת שגיאה למתייחסת לשם מחלקה בשיטה העיקרית
  • (לדוגמא, 'ג הכיתה {def ס"מ () {...}}' עכשיו מפיקה הודעת שגיאה)
  • תיקוני באגים / בדיקות סמנטיות חדשות (לסמנטיקה ישנה)
  • מנע סוגי config מלהיות מוגדר באמצעות דגלי שורת הפקודה זמן ביצוע
  • קבוע את יכולתו של המהדר לטפל איגודים ללא שדות
  • קבועים הפחתת minloc / maxloc לטפל טווחים / subranges הריק של ערכים
  • קבוע באג שבטיעון 'הנתיב' לבנאי קובץ התעלם
  • עשה איגודים ריקים יעבדו כראוי
  • קבועים נושא גלישה בchunking את הטווחים להפצה / במקבילה
  • קבוע באג מעורב תמיכה בסוגים רשומות extern ריקים
  • קבוע באג מעורב פונקציות extern שיחזרו רשומות
  • קבוע באגים הקשורים להעתקה רשומות חיצוני
  • יישום קבוע של +/- מפעילים על אסוציאטיבי / תחומים דלילים
  • קבוע באגים הקשורים לשמות מודול מבוסס קובץ המכילים מספר רב של 'של.
  • הודעות שגיאה הוסיפה להרחבה / חיצוני / פנימי על תחומים סדירים
  • הוסיף שגיאה לבנאים / הורסים עם סוג תמורה שצוין
  • קבוע זוג באגים הקשורים ל'מהיר על 'אופטימיזציה
  • הוסיף המחאה נגד בניית כיתות מבלי לציין שדות הגנרית
  • שינויי אריזה
  • הוסיף קוד סימון תחביר למקור-שיא של גנים
  • (ראה etc / מקור-גולת הכותרת / README)
  • Emacs השתפר צביעת התמיכה 22.x גרסה
  • (ראה etc / Emacs / README)

  • / מילות מפתח 'ITER'
  • עדכונים לצביעת תחביר VIM כדי לשקף 'proc' החדש
  • (ראה etc / vim / README)
  • הוסיף תסריט להמרה 'שימוש' קודים קיימים def 'ל' proc ITER '/' '
  • (ראה $ CHPL_HOME / util / להמיר-defs)
  • דוגמאות הוסרו multirealm ותיעוד לעת עתה
  • צד שלישי תוכנת שינויים
  • מתעדכן GASNet לגרסה 1.16.1
  • הוסיף עותקים של Nanos של BSC ++ וQthreads של Sandia
  • (ראה צד שלישי / README)
  • עשה צעד להתקין הודעה לGASNet שמשנה נתיבים מוחלטים לביחס
  • PVM הוסר לעת עתה בשל חוסר יציבות
  • ספריית זמן ריצה שינויים
  • הוסיף שכבות משימה אחת-מקום לNanos ++ (BSC) וQthreads (Sandia)
  • מספר שיפורים לשכבת tasking זמן הריצה:
  • הוסיף ממשק חדש לצורך שיחת שכבת tasking chpl_main ()
  • השתנה משימות פונקצית init לקחת args maxThreadsPerLocale / callStackSize
  • הוסיף יכולת תשואת משימה לממשק שכבת tasking
  • קוד זמן ריצה השתפר להימנע משימוש בסנכרון VARs לפני אתחול משימות
  • הוסר טופס מאקרו-ized של משימות ממשק; שימוש בשמות סטנדרטיים במקום
  • שמות מאוחדים של כל שגרת שכבת המשימה לchpl_sync _ * () וchpl_task _ * ()
  • דרישה להסיר כדי ליישם את הממשק משתנה אחד
  • סיום עבר של נושאים מהשכבה tasking FIFO לpthreads השחלה
  • יישום פשוטים של משתני סנכרון בשכבת השחלה pthread
  • עבר אחריות לספירת חוט ממשימות FIFO לpthread השחלה
  • מספר שיפורים לשכבת תקשורת ריצה:
  • מחדש את ממשק התקשורת לתמוך טיעוני אורך / סוג
  • הוסיף ממשק לללא חסימה לקבל מבצעים לcomm. ממשק
  • מאוחדים כל מרוחק לקבל מבצעים להשתמש CHPL_COMM_GET () מאקרו
  • refactored / שם כותרות ממשק תקשורת
  • מערכת לבדיקת
  • שיפר את בדיקות ביצועים ויכולות גרפים בהרבה
  • (ראה הערות בחלק הקדמי של start_test לתיעוד)
  • התמיכה משופרת של מערכת הבדיקה ללנקות אחרי עצמו
  • היכולת הוסיפה להימנע משימוש בכל בעקיפין של stdin
  • הוסיף אפשרות לספק אפשרות prediff מערכתית
  • הוסיף יכולת להשתמש בתכונת פסק הזמן המקומית של משגר ולא
  • של פייתון
  • השתפר איך מערכת הבדיקה הורגת בדיקה שפעמים מתוך
  • קבוע באג שבקבצי .preexec עבדו רק אם ''. היה בדרך שלך
  • פנימי
  • הוסיף דגל מהדר --break-על-id עבור מפתחים כדי לאתר צומת AST יוצרת
  • ארגון משופר של תוכן util / ספרייה
  • שינה את הדרך בי מספרי גרסה מחושבים / מוצג למשתמשים מבוססי SVN
  • הוסיף תמיכה לקוד מודול מוכוונת משימה / חוט ספציפי
  • הוסיף יכולת להדפיס ספירת AST תוקצה בין כל מעבר
  • הוסיף כינוי gdb חדש למהדר --gdb: "loc 'מדפיס מיקום
  • של צומת AST
  • יישום השתפר מאוד של pragmas / דגלים, כדי למנוע מקרי שגיאה
  • להסיר כמה מקרים של השוואות מחרוזת מיותרות במהדר
  • שימוש הוסר מועדת לטעויות של CHPL_TASKS וCHPL_THREADS כסמלי preprocessor
  • הוסיף תיעוד bestPractices למפתחים (לא כלול בהודעה)
  • שינה munging הפנימי של '=' ו '==' ל 'להקצות' ו 'שווה' בהתאמה
  • הוסיף דגל מפתח --print-ID-על-שגיאה להדפיס מספר AST על שגיאות
  • שיפר את ההקפדה של אב טיפוס C ++ בדיקה
  • הוסיף הסכמי תורם חיצוניים לעץ SVN (לא בשחרור)
  • הוסיף רעיון של סוגים פנימיים בשימוש על ידי מהדר אבל לא למשתמש

תוכנה דומה

D frontend for GCC
D frontend for GCC

14 Apr 15

Exscript
Exscript

12 May 15

PyRuby
PyRuby

11 May 15

תגובות ל Chapel

תגובות לא נמצא
להוסיף הערה
הפעל את התמונות!