חשמל ומחשבים עיבוד מקבלי

לחץ כאן לכל השאלות

חת משיטות האופטימיזציה של קוד, שהודגמו בשיעור עבור המעבד Xeon Phi, הייתה מעבר מ- Array of Structures אל Structure of Arrays או כפי שנכתב בקיצור AoS to SoA. מה הסיבה למעבר זה?

1
done
מדובר על מעבר מ-"מערכים של מבנים" ל-"מבנים של מערכים". לדוגמא אם יש לנו מערכת קוא' תל מימדית, במקום להשתמש בווקטור אחד שמכיל 3 איברים בכל תא (AoS), נעבור לשימוש בשלושה ווקטורים, אחד עבור כל מימד (SoA). אז הסיבה למעבר היא משום שזה מקצר את זמן הגישה לנתון מסויים, בצורה זו המעבר לערך הבא בזיכרון מתבצע בתוך המערך, במקום לעבור ממערך למערך ולכן המעבד עושה וקטוריזציה יותר טובה וחוסך בזמני גישה לזיכרון.
by
מיין לפי
by אייל יקיר
אייל יקיר 0 נקודות · יותר מ-6 חודשים
מוניטין: 45
מדובר על מעבר מ-"מערכים של מבנים" ל-"מבנים של מערכים". לדוגמא אם יש לנו מערכת קוא' תל מימדית, במקום להשתמש בווקטור אחד שמכיל 3 איברים בכל תא (AoS), נעבור לשימוש בשלושה ווקטורים, אחד עבור כל מימד (SoA). אז הסיבה למעבר היא משום שזה מקצר את זמן הגישה לנתון מסויים, בצורה זו המעבר לערך הבא בזיכרון מתבצע בתוך המערך, במקום לעבור ממערך למערך ולכן המעבד עושה וקטוריזציה יותר טובה וחוסך בזמני גישה לזיכרון.
by

* השאלה נוספה בתאריך: 15-07-2023