Service Hotline
RISC-V היה אחד הנושאים החמים ביותר בתחום המחשוב מכיוון שארכיטקטורת ערכת הוראות זו (ISA) מאפשרת התאמה אישית נרחבת וקלה להבנה, בנוסף לכל הקוד הפתוח, היתרון ללא רישיון. יש אפילו פרויקט לתכנון GPU לשימוש כללי המבוסס על RISC-V ISA, ועכשיו אנחנו עדים להעברת ספריית התוכנה CUDA של Nvidia לפלטפורמת Vortex RISC-V GPGPU.
ה-CUDA (Computing Unified Device Architecture) של Nvidia מייצג פלטפורמת מחשוב ייחודית וממשק תכנות יישומים (API) הפועל על קו הכרטיסים הגרפיים של Nvidia. כאשר אפליקציה נכתבת עבור תמיכת CUDA, ברגע שהמערכת מגלה GPU מבוסס CUDA, היא מקבלת הרבה האצת GPU של הקוד.
היום, חוקרים חקרו דרך לאפשר תמיכה בערכת כלים של תוכנת CUDA בפרויקט RISC-V GPGPU בשם Vortex. ה-Vortex RISC-V GPGPU נועד לספק RISC-V GPU כלל-מערכתי המבוסס על RV32IMF ISA. המשמעות היא שליבות של 32 סיביות יכולות להשתנות מעיצובי GPU של ליבה אחת ל-1 ליבות. הוא תומך ב-API הגרפי של OpenCL 32, וכיום הוא תומך גם בכמה פעולות CUDA.
החוקרים מסבירים: "...בפרויקט זה, אנו מציעים ובונים צינור לתמיכה בהעברת CUDA מקצה לקצה: הצינור מקבל קוד מקור CUDA כקלט ומבצע אותם בארכיטקטורת RISC-V GPU המורחבת. הצינור מורכב ממספר שלבים: תרגם את קוד המקור של CUDA ל-NVVM IR, המרת NVVM IR ל-SPIR-V IR, העבר את SPIR-V IR ל-POCL כדי לקבל RISC-V בינארי, ולבסוף בצע על ארכיטקטורת קבצים בינאריים של RISC-V GPU מורחבת. "
התהליך מוצג בתמונה למעלה, מראה את כל השלבים כדי לגרום לו לעבוד. במילים פשוטות, קוד המקור של CUDA מיוצג בפורמט ייצוג ביניים (IR) הנקרא NVVM IR, המבוסס על הקוד הפתוח LLVM IR. מאוחר יותר הוא הומר ל- Standard Portable Intermediate Representation (SPIR-V) IR, אשר הועבר לאחר מכן למימוש קוד פתוח נייד של תקן OpenCL, הנקרא POCL. מכיוון ש-Vortex תומך ב-OpenCL, הוא מספק קוד נתמך ויכול להפעיל אותו ללא בעיות.
לפרטים נוספים על תהליך מורכב זה, לחץ למטה כדי לקרוא את המאמר המקורי. חשוב לציין, עליך להודות לחוקרים אלה על מאמציהם לגרום ל-CUDA לפעול על רכיבי RISC-V GPGPU. אמנם זה רק צעד קטן לעת עתה, אבל זה יכול להיות תחילתו של עידן שבו RISC-V משמש להאצת יישומי מחשוב, בדומה למערך ה-GPU של Nvidia כיום.
קריאה מורחבת: האם RISC-V יכול לשנות את ה-GPU?
כל מי שלמד ארכיטקטורת GPU יודע שזהו מבנה SIMD של מעבד וקטור. זהו מעבד מקבילי יעיל במיוחד המשמש לכל דבר, החל מהפעלת סימולציות ומשחקים מעולים ועד ללמד רובוטים כיצד להשיג AI וסיוע לאנשים חכמים לתמרן את שוק המניות. זה אפילו בודק את הדקדוק שלי בזמן שאני כותב את זה.
אבל תחום ה-GPU הפך לתחום פרטי, והעבודה הפנימית שלו נעשית על ידי ה-IP ו יעיל אספקה של מפתחים כמו AMD, Intel ו-Nvidia. מה אם הייתה קבוצה חדשה של הוראות גרפיות המיועדות לגרפיקה תלת מימדית ולעיבוד מדיה? ובכן, יכול להיות שיש.
ההוראות החדשות נבנות על ערכת ההוראות הווקטורית הבסיסית של RISC-V. הם יוסיפו תמיכה בסוגי נתונים חדשים ספציפיים לגרף כהרחבות שכבות ברוח ליבת RISC-V ISA. תומך בוקטור, מתמטיקה קודמת, פיקסל ומרקם, ופעולות מאגר Z/Frame. זה יכול להיות ISA CPU-GPU מתמזג. קבוצת הספרייה - RISC 3D קוראת לזה RV64X (איור 1) מכיוון שההוראות יהיו באורך 64 סיביות (32 סיביות לא יספיקו כדי לתמוך ב-ISA חזק).
הקבוצה הצהירה שהמוטיבציה והמטרה שלהם היו ליצור עיצוב קטן ויעיל עם יכולת תכנות והרחבה מותאמים אישית. זה צריך לספק בעלות ופיתוח IP בעלות נמוכה, לא להתחרות במוצרים מסחריים. זה יכול להיות מיושם על יעדי FPGA ו-ASIC והוא חינמי וקוד פתוח. העיצוב המקורי מכוון למיקרו-בקרים בהספק נמוך שיהיו תואמים ל-Khronos Vulkan ויתמכו בממשקי API אחרים (OpenGL, DirectX וכו').
GPU + RISC-V
הצוות אמר: "אין צורך להשתמש במנגנון הקריאה של RPC/IPC כדי לשלוח קריאות API תלת-ממדיות לשטח זיכרון CPU לא בשימוש או שטח זיכרון לא בשימוש של CPU לשטח זיכרון GPU ולהיפך",
היתרון של גישת ה-CPU-GPU ISA "התמזגו" הוא שניתן להשתמש בצינורות גרפיים סטנדרטיים במיקרוקוד, וניתן לתמוך בהצללות מותאמות אישית. יכול אפילו לכלול הרחבות למעקב אחר קרניים.
העיצוב יהיה בפורמט Vblock (ממאמץ של Libre GPU):
- זה בערך כמו VLIW (אבל לא ממש).
- לפני בלוקים של הוראות יש סמני רישום המספקים הקשר נוסף להוראות סקלריות בתוך אותו בלוק.
- תת בלוקים כוללים אורך וקטור, סיבוב, שכבת-על וקטור/רוחב וחיזוי.
- כל זה מתווסף לקודים סקלרים!
- אין קודים וקטוריים (וגם לא צריך שום).
- בהקשר וקטור, זה הולך כך: אם קוד סקלארי משתמש באוגר, והאוגר הזה רשום בהקשר הווקטור, אזי יופעל מצב וקטור.
- ההפעלה גורמת ללולאה ברמת החומרה לפלוט מספר פעולות סקלריות רצופות (במקום רק אחת).
- המיישמים חופשיים ליישם לולאות בכל דרך שהם רוצים - SIMD, multi-issue, single-execute; כמעט כל דבר.
וקטור RV32-V מטפל בפעולות וקטוריות של 8-bit, 16-bit או 32-bit/אלמנט של 2 עד 4 אלמנטים. יהיו גם הוראות ייעודיות עבור צינור העיבוד הגרפי התלת מימדי הכללי עבור נקודות XYZW של 3 סיביות ו-64 סיביות קבועות ונקודות צפה. פיקסלים RGBA של 128, 8, 16 ו-24 סיביות; 32-bit, 8-bit UVW texels לכל רכיב; והגדרות אור וחומר (Ia, ka, Id, kd, Is, ks וכו').
וקטור התכונה מיוצג כמטריצה 4×4. המערכת תתמוך באופן טבעי במטריצות 2×2 ו-3×3. תמיכה וקטורית עשויה להתאים גם להדמיות מספריות באמצעות סוגי נתונים שלמים של 8 סיביות הנפוצים ביישומי בינה מלאכותית ולמידת מכונה.
ניתן לכלול רסטרייזרים מותאמים אישית כגון splines, משטחי SubDiv וטלאים בעיצוב. שיטה זו מאפשרת גם הכללה של שלבי צנרת מותאמים אישית, שלבי גיאומטריה/פיקסל/פריים מאיץ מותאמים אישית, חלוקות משנה מותאמות אישית ופעולות מופע מותאמות אישית.
RV64X
-
מטמון הוראות/נתונים SRAM (32 kB)
-
מיקרוקוד SRAM (8 קילובייט)
-
מפענח הוראות פונקציה כפולה (מחובר ל-RV32V ו-X; מפענח הוראות מיקרו-קודד עבור ISA מותאם אישית)
-
ALU עם ארבע וקטורים (32-bit/ALU-fixed/float)
-
קובץ רישום של 136 סיביות (1k אלמנטים)
-
יחידת פונקציות מיוחדת
-
יחידת מרקם
-
מאגר מסגרות מקומי ניתן להגדרה
RV64X היא ארכיטקטורה ניתנת להרחבה (איור 2). שיטת ההיתוך שלו חדשה, וכך גם השימוש באוגרים הניתנים להגדרה עבור סוגי נתונים מותאמים אישית. ניתן להשתמש במיקרוקוד מבוסס SRAM המוגדר על ידי המשתמש כדי ליישם הרחבות כגון שלבי רסטרייזר מותאמים אישית, מעקב אחר קרניים, ראיית מכונה ולמידת מכונה. ניתן ליישם עיצוב יחיד על מיקרו-בקר גרפי עצמאי או פתרון מרובה ליבות עם יחידות הצללה ניתנות להרחבה.
הרחבות גרפיות ל-RISC-V מתייחסות למדרגיות ולרב לשוניות. זה מאפשר מקרי שימוש ברמה גבוהה יותר שמובילים ליותר חדשנות.
מה הלאה
מפרט RV64X עדיין בפיתוח מוקדם ונתון לשינויים. מוקם פורום דיונים. המטרה המיידית היא לבנות יישום לדוגמה באמצעות סימולטור ערכת ההוראות. זה ייפתח באמצעות מימושי מקור IP ו-FPGA של IP מותאם אישית שתוכננו כפרויקטים של קוד פתוח.
כתב ויתור: מאמר זה משוכפל מתוך "תצפית תעשיית מוליכים למחצה". מאמר זה מייצג רק את דעתו האישית של המחבר, לא את דעתו של Sac Micro והתעשייה, רק עבור הדפסה ושיתוף, תמיכה כדי להגן על זכויות קניין רוחני, נא לציין את המקור ואת המחבר המקורי להדפסה מחדש. אם יש הפרה כלשהי, אנא צור איתנו קשר כדי למחוק אותה.




粤公网安备44030002007346号