Mojo, שפת התכנות החדשה שנוצרה על ידי כריס לטנר, היוצר של LLVM

mojo lang

Mojo היא שפת תכנות חדשה שמבטיחה ביצועים טובים יותר לפיתוח למידת מכונה

לפני כמה ימים הודיעו על כך כריס לטנר, מייסד ואדריכל ראשי של LLVM and טים דייויס, לשעבר ראש פרויקטים של AI בגוגל הוציאה את "Mojo", שפת תכנות חדשה, מבוסס על Python, אשר מתקן בעיות יישום וביצועים של Python.

מוזכר ש-Mojo כי משלב קלות שימוש למו"פ ויצירת אב טיפוס מהיר עם התאמה למוצרי קצה בעלי ביצועים גבוהים. הראשון מושג באמצעות שימוש בתחביר המוכר של שפת Python, והאחרון נובע מהיכולת לקמפל קוד למכונה, מנגנונים לניהול זיכרון בטוח ושימוש בכלים להאצת חומרה של חישובים.

על מוג'ו

שפת התכנות החדשה הזו מתמקד בשימוש לפיתוח למידת מכונה, אבל כןהוצגה כשפה למטרות כלליות שמרחיב את יכולות שפת Python עם תכנות מערכות ומתאימה למגוון רחב של משימות.

לדוגמה, השפה ישימה לתחומים כמו מחשוב בעל ביצועים גבוהים, עיבוד נתונים ושינוי נתונים. תכונה מעניינת של Mojo היא היכולת לציין את סמל האימוג'י "🔥" כהרחבה לקובצי קוד.

הפרויקט נועד לערב משאבי חומרה של המערכות הקיימות במערכת בחישובים. לדוגמה, ניתן להשתמש במעבדי GPU, מאיצי למידת מכונה מיוחדים והוראות עיבוד וקטור (SIMDs) כדי להפעיל יישומי Mojo ולהקביל חישובים.

הסיבה לפיתוח תת-קבוצה נפרדת של שפת Python, במקום להצטרף לעבודת אופטימיזציה קיימת של CPython, מצוטטת כ:

גישת בנייה, אינטגרציה של יכולות התכנות של המערכת ושימוש בארכיטקטורה פנימית שונה מהותית המאפשרת ביצוע קוד על גבי GPU ומאיצי חומרה שונים. יחד עם זאת, מפתחי Mojo מתכוונים לדבוק בתמיכה ב-CPython ככל האפשר.

ניתן להשתמש ב-Mojo הן במצב פירוש JIT והן להידור לקבצי הפעלה (AOT, לפני הזמן). המהדר כולל טכנולוגיות מודרניות מובנות לאופטימיזציה עצמית, שמירה במטמון והידור מבוזר.

הקוד קוד המקור בשפת Mojo מומרים לקוד ביניים ברמה נמוכה MLIR (ייצוג ביניים רב-שכבתי), שפותח על ידי פרויקט LLVM ומספק פונקציות נוספות כדי לייעל את העיבוד של גרפי זרימת נתונים.

השימוש במנגנוני חומרה נוספים כדי להאיץ את החישובים מאפשר לך להשיג ביצועים שבעזרת חישובים אינטנסיביים עולים על יישומי C/C++.

כריס לטנר אחראי ליצירת רבים מהפרויקטים שכולנו מסתמכים עליהם היום, למרות שאולי אפילו לא שמענו על כל מה שהוא בנה! במסגרת עבודת הדוקטורט שלו, הוא החל בפיתוח של LLVM, ששינה מהותית את האופן שבו מהדרים בנויים ומהווה היום את הבסיס לרבות מהמערכות האקולוגיות הלשוניות הנפוצות ביותר בעולם.

לאחר מכן הוא המשיך לשחרר את Clang, מהדר C ו-C++ שיושב על גבי LLVM ומשמש את רוב מפתחי התוכנה המובילים בעולם (כולל מתן עמוד השדרה לקוד קריטי לביצועים) של גוגל). 

בעת הערכת ביצועים בתחום פתרון בעיות למידת מכונה, נמצא כי מחסנית ה-Modular Inference Engine AI הכתובה בשפת Mojo, בהשוואה לפתרון המבוסס על ספריית TensorFlow, הייתה מהירה פי 3 במערכת עם מעבד אינטל

עם זאת, כריס ראה ש-C ו-C++ לא מנצלים את מלוא הכוח של LLVM, אז תוך כדי עבודה באפל הוא עיצב שפה חדשה, שנקראת "Swift", אותה הוא מתאר כ"תחביר סוכר עבור LLVM". 

ראוי להזכיר כי ה השפה תומכת בהקלדה סטטית ובתכונות זיכרון בטוחות ברמה נמוכה שמזכירים מאפיינים של Rust כמו מעקב אחר חיי התייחסות והשאלה משתנה (בודקת הלוואות).

בנוסף לאמצעים לפעולה בטוחה עם מצביעים, השפה מספק גם תכונות לעבודה ברמה נמוכה, לדוגמה, ניתן לגשת ישירות לזיכרון במצב לא בטוח באמצעות סוג המצביע, להתקשר להוראות SIMD בודדות או לגשת להרחבות חומרה כגון TensorCores ו- AMX.

נכון לעכשיו, השפה נמצאת בהתפתחות אינטנסיבית ומוצע רק הממשק באינטרנט כדי לנסות. הבטחות עתידיות הן לשחרר builds נפרדים שיפעלו במערכות מקומיות מאוחר יותר, לאחר קבלת משוב על העבודה של סביבת האינטרנט האינטראקטיבית.

קוד הקוד הפתוח של המהדר, JIT ופיתוח אחר הקשור לפרויקט מתוכנן לאחר השלמת תכנון הארכיטקטורה הפנימית (מודל הפיתוח של אב טיפוס עבודה בדלת סגורה דומה לשלב המוקדם של הפיתוח של LLVM, Clang ו- Swift).

מכיוון שהתחביר של Mojo מבוסס על Python ומערכת הטיפוס קרובה ל-C/C++, יש תוכניות בעתיד לפתח סט כלים כדי להקל על תרגום פרויקטים קיימים שנכתבו ב-C/C++ ו-Python ל-Mojo, גם כן. כמו לפתח פרויקטים היברידיים המשלבים Python וקוד Mojo.

לבסוף, אם אתה מעוניין לדעת יותר על כך, תוכל להתייעץ עם הפרטים בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   חיימה דיג'ו

    מעניין את הרוגם הזה…. (ללא הדגשים)