swym כתב:Death_119 כתב:לא, מה הקשר, accelerator זה מודל בו יש לך יחידת ניהול מרכזית של CPU ורכיב חומרה יעודי שנקרא לשימוש בידי הCPU כשצריך.
https://en.wikipedia.org/wiki/Hardware_accelerationאין שום קשר מה מבצע הרכיב חומרה יעודי או כמה מורכבות הפונקציות שהוא מבצע. מבנה אחר מקובל שקיים בעולם הוא לדוגמא מצב בו יש לך מקבץ מעבדים (בדרך כלל DSP) שמבצעים את הFlow כולו בעצמם ולא רק נקראים לביצוע פה ושם.
עד היום כרטיסים גראפיים הם תמיד במודל אקסלרטור.
אתה מכיר משחק שרץ בלעדית על GPU? אני לא. אי אפשר בכלל לכתוב קוד שהוא לא סימטרי לGPU, בחיים לא תוכל להחליף את הCPU. הם בנויים למודל אקסלרטור בלבד.
אוי די כבר דודי, תפסיק לקשקש בשכל ולדחוף DSP וכו' לכל דיון כשאין לך אפילו שמץ של מושג מה הנושא. אתה באמת חי בסרט כאילו יש רק הגדרה אחת לaccelerator? סמוך עלי שיושבים לי כמה hardware accelerators במשרד ככה שאני יודע מצויין מה זה. אבל לדחוף את זה לדיון זה מנותק כמו להתחיל להסביר לנו מה זה startup accelerator - שני אלו לא קשורים לנושא של מאיצים גרפיים.
מאיצי תלת המימד של שנות ה-90 היו בדיוק זה - מאיצים נטולי יכולות מובנות לרינדור גרפיקת דו מימד של כרטיס מסך סטנדרטי ולכן קראו להם מאיצים. תכיר את מאיץ הMonster של Diamond: כרטיס שידע
רק להאיץ משחקי תלת מימד מבוססי voodoo 3dfx, ולכן היה לו גם חיבור pass-through - כי כשסתם הרצת דוס או חלונות כרטיס המסך הרגיל היה זה שצריך לעשות את כל העבודה.
אתה ממשיך להטעות אנשים בחוסר ידע. לפחות תלמד קצת ממשהו שזה העבודה שלו (בערך, אני כותב Flow, אבל זה שלידי במשרד עובד עם אקסלרטורים ביום יום ואני רק פונה אליהם) שבמקרה גם עובד בחברה היחידה בארץ שהקימה את מעבדת הAccelerator היחידה בארץ בטכניון.
יש הגדרה אחת לAccelerator, מאיץ הוא רכיב יעודי בחומרה שלא מריץ Flow, הגישה איליו היא נקודתית והוא עושה משימה שהוא יודע לעשות הכי טוב לעומת CPU רגיל.
מפה אתה נכנס להגדרה לשונית ולתתי הגדרות זניחות. גם מה שאתה מכנה "מאיץ גראפי" הוא מאיץ, הוא יודע לעשות משהו אחד הכי טוב. גם כרטיסי מסך של ימינו הם "מאיצים", הם לא מסוגלים להריץ Flow ולתפקד ללא CPU, הם יודעים לעשות מספר דברים הכי טוב וזהו. הGPU של Nvidia עובד עם שפת מכונה שקומפלה משפה עילית שנקראת CUDA שפותחה כדי לחשוף את הכרטיסים הללו לעוד שווקים שהם לא משחקי מחשב או תוכנות גראפיות. ממבט ראשון בשפה היית לומד שהיא סימטרית, לא ניתן להריץ עליה Flow, היא נועדה שתכתוב פונקציה קצרה ככל הניתן שתבצע X חישובים שמבוצעים הכי טוב על החומרה המדוברת והיא תחזור לFlow הראשי שרץ על CPU רגיל כאשר מקורות החישוב הגיעו מהRAM של הCPU הרגיל וחזרו איליו בסוף. אין גם מערכת הפעלה שרצה ברגעים אילו על הכרטיס שיושב במחשב שלך, לכן, לצאת בהצהרה כמו שכתבת קודם (שפתחה את כל הדיון הזה) שהכרטיסים של ימינו הם לא "מאיצים" זאת טעות, אז תגיד שהתכוונת שהם לא מתאימים להגדרה "היסטורית" של מאיצים גראפיים כי הממשק שלהם יותר פתוח לחישוב כללי ולא רק גראפי. אין יכולת לכתוב תוכנה לכרטיס מסך שתעבוד ללא CPU שיתמוך בה מאחור ויקרא לו נקודתית לביצוע המטלות שלו, יעתיק לו את המידע לזיכרון שלו במקרה של GPU שיש לכולנו במחשב או יתרגם את המיפוי הוירטואלי ואז הפיסי לBy pointer איתו עובדים מאיצים רגילים שעובדים על חלק אחר בRAM ללא זיכרון יעודי.
יש כמובן חומרה שרצה ללא מערכת הפעלה ומסוגלת לנהל Flow, אבל אז כבר מדובר במשהו בסגנון FPGA שישבו ותכננו איך כל חלק יגיב בהנתן פולס כזה או אחר ויתחבר לרכיב הלוגי הבא. גם היא בדרך כלל תהיה ממופה לחלק אחר בזיכרון פיסי שינהול על ידי CPU עליו תרוץ מערכת הפעלה סטנדרטית שימלא את הזיכרון שהיא מאזינה לו שיטריג את ריצת הFlow שלה.
יש כמובן גם מעבדים עם ALU ספציפי כמו DSP (המילה שאתה שונא) שמסוגלים לנהל Flow עצמאי ואפילו להריץ מערכת הפעלה. שניתן כקונטרה למעבד שאינו CPU ועדיין לא חייב לרוץ כאקסלרטור.
אני אפילו אפתיע אותך, אני סמוך שהמאיצים הישנים יותר שאתה טוען שלא מסוגלים לעשות שום דבר חוץ מלכתוב לBack buffer מסוגלים לעשות גם מה שהמאיצים היום מסוגלים, הכל תלוי מהיחידה האריתמטית שלהם (ALU) והאם יש להם גישה מזיכרון ולזיכרון. גם אם הAPI שהם נתנו למשתמשים לא תמך ביכולות בעיני המשתמש לא אומר שהם לא שם.
דרך אגב, גם DSP יכל להיות אקסלרטור, גם את זה אנחנו עושים.