פרויקט LLVM הציג את HPVM 1.0, מהדר עבור CPU, GPU, FPGA ומאיצים

מפתחי פרויקט LLVM פרסמו את שחרורו של מהדר HPVM 1.0 (Heterogeneous Parallel Virtual Machine), שמטרתו לפשט תכנות עבור מערכות הטרוגניות ולספק כלים להפקת קוד עבור CPUs, GPUs, FPGAs ומאיצי חומרה ספציפיים לתחום (תמיכה ב- FGPAs ומאיצים לא נכללו במהדורת 1.0). קוד הפרויקט מופץ תחת רישיון Apache 2.0.

הרעיון המרכזי של HPVM הוא לספק ייצוג אחיד של תוכניות הניתנות להרצה מקבילות בעת ההידור, שניתן להשתמש בהן לביצוע באמצעות סוגים שונים של חומרה התומכים במחשוב מקבילי, כולל GPUs, הוראות וקטוריות, מעבדים מרובי ליבות, FPGAs ו שבבי מאיץ מיוחדים שונים. בניגוד למערכות אחרות, HPVM ניסתה לשלב שלוש יכולות לארגון מחשוב הטרוגני: ייצוג ביניים בלתי תלוי בשפה ובחומרה, ארכיטקטורת ערכת הוראות וירטואלית (ISA) ותזמון זמן ריצה.

ייצוג הביניים הבלתי תלוי של HPVM (IR) מבוסס על ייצוג הוראות הביניים LLVM 9.0 ומרחיב אותו עם גרף זרימת נתונים היררכי כדי ללכוד מקביליות ברמת המשימה, הנתונים והצנרת. ייצוג הביניים של HPVM כולל גם הוראות וקטוריות וזיכרון משותף. המטרה העיקרית של שימוש בייצוג ביניים היא יצירת קוד יעיל ואופטימיזציה עבור מערכות הטרוגניות.

ארכיטקטורת ערכת ההוראות הווירטואלית (ISA) מאפשרת ניידות בין סוגים שונים של חומרת מחשוב מקבילית ומאפשרת לא לאבד ביצועים בעת שימוש באלמנטים שונים של מערכות הטרוגניות. ניתן להשתמש ב-Virtual ISA גם כדי לספק קוד תוכנית הפעלה אוניברסלי שיכול לפעול באמצעות CPUs, GPUs, FPGAs ומאיצים שונים.

בשלב הפיתוח הנוכחי, HPVM מציעה מחוללי קוד המסוגלים לתרגם צמתי יישומים המוגדרים באמצעות ISA וירטואלי לביצוע באמצעות NVIDIA GPUs (cuDNN ו-OpenCL), הוראות וקטור של Intel AVX ומעבדי x86 מרובי ליבות. בזמן ריצה, HPVM מיישמת מדיניות גמישה של תזמון תהליכי חישוב, המיושמת הן על סמך מידע תוכנית (מבנה גרף) והן באמצעות קומפילציה של צמתי תוכנית בודדים לביצוע בכל אחד מהתקני מחשוב היעד הזמינים במערכת.

יצוין כי השימוש ב-HPVM יכול להשיג עלייה משמעותית בפריון. הביצועים של מתרגמי HPVM דומים לקוד OpenCL בכתב יד עבור GPUs והתקני מחשוב וקטוריים.

בהשוואה למהדורת התצוגה המקדימה הראשונה, HPVM 1.0 כולל תמיכה בפעולות טנזור אלגברה ליניאריות, חזיתות עבור Pytorch ו-Keras, קירובים לאופרטור קונבולוציה, ומסגרת כוונון קירוב שבוחרת אוטומטית קירובים אופטימליים עבור פעולות טנזור ספציפיות ובוחרת את התצורה המספקת ביצועים מיטביים.

מקור: OpenNet.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster