CUDA

מתוך ויקיפדיה, האנציקלופדיה החופשית
CUDA
מפתח Nvidia עריכת הנתון בוויקינתונים
מחזור חיים 23 ביוני 2007 – הווה (16 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 12.2 (28 ביוני 2023) עריכת הנתון בוויקינתונים
מערכת הפעלה Microsoft Windows, לינוקס, macOS עריכת הנתון בוויקינתונים
סוג רישיון תוכנה חינמית עריכת הנתון בוויקינתונים
האתר הרשמי
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית
תרשים זרימה של תהליך העיבוד

CUDA (ראשי תיבות של Compute Unified Device Architecture – ארכיטקטורת מחשב מאוחדת-התקנים) היא ארכיטקטורת מחשוב מקבילי שפותחה על ידי חברת NVIDIA. החברה, אשר מפתחת מעבדים גרפיים, פיתחה את סביבת CUDA כדי לאפשר לקהילת מתכנתי ומדעני המחשב לפתח ולהריץ תוכניות מחשב בעזרת כרטיסי GPU. התכנות עצמו מתבצע בעזרת שימוש בשפת C for CUDA. סביבת CUDA מאפשרת למפתחים גישה לזיכרון ההתקן, ולסט הפקודות של המכונה הווירטואלית, המכילה אלמנטים חישוביים. סביבת CUDA מיועדת למשימות עיבוד מקבילי מסיבי (Massively Parallel Programming).

CUDA מייצגת את הדור החדש של שפות התכנות אשר מיועדות לתכנות מקבילי. עד שנת 2007, השנה שבה הופצה הגרסה הראשונה של סביבת הפיתוח CUDA, היה על המתכנת להשתמש בממשק התוכנה OpenGL. בעזרת מנגנון מיוחד הצליחו שני היצרנים המובילים בתחום: חברת NVIDIA וחברת ATI (החל מ-2006, חברת AMD) לאפשר הפעלת תוכניות מחשב מקביליות, הכתובות בשפת התכנות GLSL (קיצור של OpenGL Shading Language), על גבי חומרה מסוג GPUs. ממשק תוכנה זה קשה לתכנות, וקהילת המפתחים אשר השתמשה בממשק זה, נותרה מצומצמת. הופעתה של CUDA, אפשרה לקהילת המדענים, בפעם הראשונה, לייצר תוכניות מחשב אשר רצות על חומרה מקבילית מסוג GPUs בשפת תכנות המתאימה לחישוב מדעי-מתמטי.

התכנות בסביבת CUDA, ובעיקר בשפת התכנות C for CUDA, מורכב משני אלמנטי תוכנה עיקריים:

  • הקוד המתמטי-מדעי, הנכתב בשפת C for CUDA ומכיל את הגרעין (באנגלית Kernels) החישובי.
  • קוד המעטפת (בדרך כלל בשפת C) אשר אחראי להקצאות ושחרור זיכרון, העתקות יחידות מידע אל ההתקן ומן ההתקן חזרה אל המחשב המארח, והפעלת גרעיני החישוב.

סביבת הפיתוח כוללת את המרכיבים הבאים:

באופן טבעי, סביבת CUDA אשר פותחה על ידי חברת NVIDIA, מסוגלת לרוץ אך ורק על חומרה מסוג GPU אשר מיוצרת על ידי החברה. בחודש נובמבר 2008, הגדירו קבוצת חוקרים ואנשי תעשייה בכירים, החברים בקבוצת Khronos Group סביבת תכנות מקבילי העונה לשם OpenCL (קיצור של Open Computing Language). סביבה זו מהווה מתחרה עיקרית לסביבת CUDA, מכיוון שהיא מאפשרת הרצת תוכניות מקביליות על חומרה הטרוגנית, כגון: CPU‏, GPU‏, DSP, ו-FPGA.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא CUDA בוויקישיתוף