BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN VERSION:1.0 BEGIN:VEVENT DTSTART:20121112T153000Z DTEND:20121113T000000Z LOCATION:355-F DESCRIPTION;ENCODING=QUOTED-PRINTABLE:ABSTRACT: With the increasing prevalence of multicore processors, shared-memory=0Aprogramming models are essential. OpenMP is a popular, portable, widely=0Asupported and easy-to-use shared-memory model. Developers usually find=0AOpenMP easy to learn. However, they are often disappointed with the performance=0Aand scalability of the resulting code. This disappointment stems=0Anot from shortcomings of OpenMP but rather with the lack of depth with=0Awhich it is employed. Our Advanced OpenMP Programming tutorial addresses=0Athis critical need by exploring the implications of possible OpenMP=0Aparallelization strategies, both in terms of correctness and performance.=0AWhile we quickly review the basics of OpenMP programming, we assume=0Aattendees understand basic parallelization concepts and will easily grasp=0Athose basics. We discuss how OpenMP features are implemented and then=0Afocus on performance aspects, such as data and thread locality on NUMA=0Aarchitectures, false sharing, and private versus shared data. We discuss=0Alanguage features in-depth, with emphasis on features recently added to=0AOpenMP such as tasking. We close with debugging, compare various tools,=0Aand illustrate how to avoid correctness pitfalls. SUMMARY:Advanced OpenMP Tutorial PRIORITY:3 END:VEVENT END:VCALENDAR BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN VERSION:1.0 BEGIN:VEVENT DTSTART:20121112T153000Z DTEND:20121113T000000Z LOCATION:355-F DESCRIPTION;ENCODING=QUOTED-PRINTABLE:ABSTRACT: With the increasing prevalence of multicore processors, shared-memory=0Aprogramming models are essential. OpenMP is a popular, portable, widely=0Asupported and easy-to-use shared-memory model. Developers usually find=0AOpenMP easy to learn. However, they are often disappointed with the performance=0Aand scalability of the resulting code. This disappointment stems=0Anot from shortcomings of OpenMP but rather with the lack of depth with=0Awhich it is employed. Our Advanced OpenMP Programming tutorial addresses=0Athis critical need by exploring the implications of possible OpenMP=0Aparallelization strategies, both in terms of correctness and performance.=0AWhile we quickly review the basics of OpenMP programming, we assume=0Aattendees understand basic parallelization concepts and will easily grasp=0Athose basics. We discuss how OpenMP features are implemented and then=0Afocus on performance aspects, such as data and thread locality on NUMA=0Aarchitectures, false sharing, and private versus shared data. We discuss=0Alanguage features in-depth, with emphasis on features recently added to=0AOpenMP such as tasking. We close with debugging, compare various tools,=0Aand illustrate how to avoid correctness pitfalls. SUMMARY:Advanced OpenMP Tutorial PRIORITY:3 END:VEVENT END:VCALENDAR