Cargando…

SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code

<!--HTML--><p align="justify"> All software should be parallel software. This is natural result of the transition to a many core world. For a small fraction of the world&#39;s programmers (efficiency programmers), this is not a problem. They enjoy mapping algorithms onto t...

Descripción completa

Detalles Bibliográficos
Autor principal: Mattson, Timothy
Lenguaje:eng
Publicado: 2012
Materias:
Acceso en línea:http://cds.cern.ch/record/1482202
_version_ 1780925990518652928
author Mattson, Timothy
author_facet Mattson, Timothy
author_sort Mattson, Timothy
collection CERN
description <!--HTML--><p align="justify"> All software should be parallel software. This is natural result of the transition to a many core world. For a small fraction of the world&#39;s programmers (efficiency programmers), this is not a problem. They enjoy mapping algorithms onto the details of a particular system and are well served by low level languages and OpenMP, MPI, or OpenCL. Most programmers, however, are &quot;domain specialists&quot; who write code. They are too busy working in their domain of choice (such as physics) to master the intricacies of each computer they use. How do we make these programmers productive without giving up performance?</p> <p align="justify"> We have been working with a team at UC Berkeley&#39;s ParLab to address this problem. The key is a clear software architecture expressed in terms of design patterns that exposes the concurrency in a problem. The resulting code is written using a patterns-based framework within a high level, productivity language (such as Python). Then a separate system is used by a small group of efficiency programmers to translate that code into a highly optimized program. This software transformation system is called SEJITS: Selective Embedded Just In Time Specializers.</p> <p align="justify"> In this talk, I will describe the overall vision behind this work, including the patterns that sit at its core. Most of the talk, however, will focus on SEJITS. We will explore how SEJITS works and show its use for a few applications. We&#39;ll close with some thoughts on where this technology might evolve and hopefully move into the mainstream of parallel computing.</p> <h4> About the speaker</h4> <p align="justify"> Tim Mattson is a parallel programmer (Ph.D. Chemistry, UCSC, 1985). Tim has been with Intel since 1993 where he has worked with brilliant people on great projects such as:</p> <ul> <li> the first TFLOP computer (ASCI Red),</li> <li> the OpenMP API for shared memory programming,</li> <li> the OpenCL programming language for heterogeneous platforms,</li> <li> Intel&#39;s first TFLOP chip (the 80 core research chip), and</li> <li> Intel&#39;s 48 core, SCC research processor.</li> </ul> <p align="justify"> Tim has published extensively including the books <em>Patterns for Parallel Programming </em>(with B. Sanders and B. Massingill, Addison Wesley, 2004), <em>An Introduction to Concurrency in Programming Languages </em>(with M. Sottile and C. Rasmussen, CRC Press, 2009), and the <em>OpenCL Programming Guide </em>(with A Munshi, B. Gaster, J. Fung, and D. Ginsburg, Addison Wesley, 2011).</p>
id cern-1482202
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2012
record_format invenio
spelling cern-14822022022-11-02T22:30:08Zhttp://cds.cern.ch/record/1482202engMattson, TimothySEJITS: embedded specializers to turn patterns-based designs into optimized parallel codeSEJITS: embedded specializers to turn patterns-based designs into optimized parallel codeComputing Seminar<!--HTML--><p align="justify"> All software should be parallel software. This is natural result of the transition to a many core world. For a small fraction of the world&#39;s programmers (efficiency programmers), this is not a problem. They enjoy mapping algorithms onto the details of a particular system and are well served by low level languages and OpenMP, MPI, or OpenCL. Most programmers, however, are &quot;domain specialists&quot; who write code. They are too busy working in their domain of choice (such as physics) to master the intricacies of each computer they use. How do we make these programmers productive without giving up performance?</p> <p align="justify"> We have been working with a team at UC Berkeley&#39;s ParLab to address this problem. The key is a clear software architecture expressed in terms of design patterns that exposes the concurrency in a problem. The resulting code is written using a patterns-based framework within a high level, productivity language (such as Python). Then a separate system is used by a small group of efficiency programmers to translate that code into a highly optimized program. This software transformation system is called SEJITS: Selective Embedded Just In Time Specializers.</p> <p align="justify"> In this talk, I will describe the overall vision behind this work, including the patterns that sit at its core. Most of the talk, however, will focus on SEJITS. We will explore how SEJITS works and show its use for a few applications. We&#39;ll close with some thoughts on where this technology might evolve and hopefully move into the mainstream of parallel computing.</p> <h4> About the speaker</h4> <p align="justify"> Tim Mattson is a parallel programmer (Ph.D. Chemistry, UCSC, 1985). Tim has been with Intel since 1993 where he has worked with brilliant people on great projects such as:</p> <ul> <li> the first TFLOP computer (ASCI Red),</li> <li> the OpenMP API for shared memory programming,</li> <li> the OpenCL programming language for heterogeneous platforms,</li> <li> Intel&#39;s first TFLOP chip (the 80 core research chip), and</li> <li> Intel&#39;s 48 core, SCC research processor.</li> </ul> <p align="justify"> Tim has published extensively including the books <em>Patterns for Parallel Programming </em>(with B. Sanders and B. Massingill, Addison Wesley, 2004), <em>An Introduction to Concurrency in Programming Languages </em>(with M. Sottile and C. Rasmussen, CRC Press, 2009), and the <em>OpenCL Programming Guide </em>(with A Munshi, B. Gaster, J. Fung, and D. Ginsburg, Addison Wesley, 2011).</p> oai:cds.cern.ch:14822022012
spellingShingle Computing Seminar
Mattson, Timothy
SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title_full SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title_fullStr SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title_full_unstemmed SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title_short SEJITS: embedded specializers to turn patterns-based designs into optimized parallel code
title_sort sejits: embedded specializers to turn patterns-based designs into optimized parallel code
topic Computing Seminar
url http://cds.cern.ch/record/1482202
work_keys_str_mv AT mattsontimothy sejitsembeddedspecializerstoturnpatternsbaseddesignsintooptimizedparallelcode