דף הבית » איך ל » למה אנחנו עדיין באמצעות CPUs במקום GPUs?

    למה אנחנו עדיין באמצעות CPUs במקום GPUs?

    יותר ויותר GPUs נמצאים בשימוש עבור משימות שאינן גרפיות כמו חישוב סיכונים, חישובים דינמיקה נוזלים, ניתוח סייסמי. מה זה כדי למנוע מאיתנו לאמץ התקנים מונע GPU?

    מפגש השאלות והתשובות של היום מגיע אלינו באדיבות SuperUser - חלוקה מחודשת של Stack Exchange, קיבוץ קהילתי של אתרי Q & A.

    השאלה

    SuperUser הקורא אל שומר על חדשות טק והוא סקרן למה אנחנו לא משתמשים יותר מערכות מבוססות GPU:

    נראה לי כי בימים אלה הרבה חישובים נעשים על GPU. ברור גרפיקה נעשים שם, אבל באמצעות CUDA וכדומה, AI, hashing אלגוריתמים (לחשוב Bitcoins) ואחרים נעשים גם על GPU. למה אנחנו לא יכולים פשוט להיפטר CPU ולהשתמש GPU בכוחות עצמה? מה עושה את GPU כל כך הרבה יותר מהר מאשר CPU?

    למה באמת? מה הופך את CPU ייחודי?

    התשובה

    SuperUser תורם DragonLord מציעה סקירה נתמכת היטב של ההבדלים בין GPUs ו CPUs:

    TL; DR תשובה: GPUs יש ליבות מעבד הרבה יותר מאשר CPUs, אבל בגלל כל הליבה GPU פועל לאט יותר מאשר ליבת מעבד ואין להם את התכונות הדרושות עבור מערכות ההפעלה המודרנית, הם לא מתאימים לביצוע רוב העיבוד במחשוב יומיומי. הם מתאימים ביותר לחישוב אינטנסיבית פעולות כגון עיבוד וידאו סימולציות פיזיקה.

    התשובה המפורטת: GPGPU הוא עדיין רעיון חדש יחסית. GPUs שימשו בתחילה לעיבוד גרפיקה בלבד; כמו הטכנולוגיה המתקדמת, מספר גדול של גרעינים GPUs ביחס למעבדים נוצל על ידי פיתוח יכולות חישוביות עבור GPUs, כך שהם יכולים לעבד זרמים מקבילים רבים של נתונים בו זמנית, לא משנה מה הנתונים עשויים להיות. בעוד GPUs יכול להיות מאות או אפילו אלפי מעבדים זרם, הם כל לרוץ לאט יותר מאשר הליבה CPU ויש לי פחות תכונות (גם אם הם מלאים ו יכול להיות מתוכנת להפעיל כל תוכנית מעבד יכול לרוץ). תכונות חסר GPUs כוללים interrupts וזיכרון וירטואלי, אשר נדרשים ליישם מערכת הפעלה מודרנית.

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

    כתוצאה מכך, GPUs אינם מתאימים לטפל במשימות שאינן נהנות באופן משמעותי או אינן מקובלות, כולל יישומים נפוצים נפוצים כגון מעבדי תמלילים. יתר על כן, GPUs להשתמש בארכיטקטורה שונה מהותית; אחד יצטרך תוכנית יישום במיוחד עבור GPU זה לעבוד, וטכניקות שונות משמעותית נדרשים לתכנות GPUs. טכניקות שונות אלה כוללות שפות תכנות חדשות, שינויים בשפות קיימות ופרדיגמות תכנות חדשות המתאימות יותר לביטוי חישוב כפעולה מקבילה שתבוצע על ידי מעבדים רבים. לקבלת מידע נוסף על הטכניקות הדרושות לתכנות GPUs, ראה מאמרים ויקיפדיה על עיבוד זרם מחשוב מקבילי.

    יחידות GPU מודרניות מסוגלות לבצע פעולות וקטוריות ואריתמטיקה של נקודה צפה, עם הקלפים האחרונים המסוגלים לתפעל מספרים בעלי דיוק כפול. מסגרות כגון CUDA ו- OpenCL מאפשרות תוכניות לכתוב עבור GPU, ואופי ה- GPU הופך אותן המתאימות ביותר לפעולות מקבילות ביותר, כגון במחשוב מדעי, שבו סדרה של כרטיסי GPU מיוחדים יכולה להיות תחליף קיימא עבור אשכול לחשב כמו ב - NVIDIA טסלה מחשבים אישיים. צרכנים עם GPUs מודרניים אשר מנוסים עם Folding @ home יכולים להשתמש בהם כדי לתרום עם GPU לקוחות, אשר יכול לבצע הדמיה חלבונים מתקפלים במהירויות גבוהות מאוד ולתרום יותר עבודה לפרויקט (הקפד לקרוא את השאלות הנפוצות הראשון, במיוחד אלה הקשורים GPUs). GPUs יכול גם לאפשר סימולציה פיזיקה טובה יותר במשחקי וידאו באמצעות PhysX, להאיץ קידוד וידאו פענוח, ולבצע משימות מחשוב אחרות. זה סוגים אלה של משימות GPUs הם המתאימים ביותר לביצוע.

    AMD היא חלוצית עיצוב מעבד שנקרא יחידת עיבוד מואצת (APU) המשלבת ליבות מעבד קונבנציונאלי x86 עם GPUs. זה יכול לאפשר את CPU ו- GPU רכיבים לעבוד יחד ולשפר את הביצועים על מערכות עם שטח מוגבל עבור רכיבים נפרדים. ככל שהטכנולוגיה ממשיכה להתקדם, אנו רואים מידה הולכת וגוברת של התכנסות של חלקים נפרדים אלה. עם זאת, משימות רבות המבוצעות על ידי מערכות הפעלה ויישומים של PC עדיין מתאימות יותר למעבדים, ועבודה רבה נדרשת להאיץ תוכנית באמצעות GPU. מאז כל כך הרבה תוכנות קיימות להשתמש בארכיטקטורת x86, ומכיוון GPUs דורשים טכניקות תכנות שונות חסרים כמה תכונות חשובות הדרושות למערכות ההפעלה, המעבר הכללי מ CPU ל- GPU עבור מחשוב יומיומי הוא קשה מאוד.


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