הקוד תקין אבל לא אופטימלי,
יש false sharing. כל thread מנסה לעדכן ערכים שונים של sum_local אבל הערכים האלו נמצאו באותו בלוק
.atomicבמקום ב reductionכדי לתקן אפשר להשתמש ב .cache
.Reduction(+:sum)
מיין לפי
אייל יקיר0 נקודות ·
יותר מ-6 חודשים
( תגובות)
מוניטין: 60
הקוד תקין אבל לא אופטימלי, יש false sharing. כל thread מנסה לעדכן ערכים שונים של sum_local אבל הערכים האלו נמצאו באותו בלוק .atomicבמקום ב reductionכדי לתקן אפשר להשתמש ב .cache .Reduction(+:sum)