Serveur d'exploration sur Aussois

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

POET: a scripting language for applying parameterized source‐to‐source program transformations

Identifieur interne : 000D88 ( Main/Corpus ); précédent : 000D87; suivant : 000D89

POET: a scripting language for applying parameterized source‐to‐source program transformations

Auteurs : Qing Yi

Source :

RBID : ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D

English descriptors

Abstract

We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.

Url:
DOI: 10.1002/spe.1089

Links to Exploration step

ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D

Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<author>
<name sortKey="Yi, Qing" sort="Yi, Qing" uniqKey="Yi Q" first="Qing" last="Yi">Qing Yi</name>
<affiliation>
<mods:affiliation>University of Texas at San Antonio, San Antonio, TX, U.S.A.</mods:affiliation>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</idno>
<date when="2012" year="2012">2012</date>
<idno type="doi">10.1002/spe.1089</idno>
<idno type="url">https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/pdf</idno>
<idno type="wicri:Area/Main/Corpus">000D88</idno>
<idno type="wicri:explorRef" wicri:stream="Main" wicri:step="Corpus" wicri:corpus="ISTEX">000D88</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a" type="main" xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<author>
<name sortKey="Yi, Qing" sort="Yi, Qing" uniqKey="Yi Q" first="Qing" last="Yi">Qing Yi</name>
<affiliation>
<mods:affiliation>University of Texas at San Antonio, San Antonio, TX, U.S.A.</mods:affiliation>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="j">Software: Practice and Experience</title>
<title level="j" type="abbrev">Prog. Softw. Pract. Exper.</title>
<idno type="ISSN">0038-0644</idno>
<idno type="eISSN">1097-024X</idno>
<imprint>
<publisher>John Wiley & Sons, Ltd</publisher>
<pubPlace>Chichester, UK</pubPlace>
<date type="published" when="2012-06">2012-06</date>
<biblScope unit="volume">42</biblScope>
<biblScope unit="issue">6</biblScope>
<biblScope unit="page" from="675">675</biblScope>
<biblScope unit="page" to="706">706</biblScope>
</imprint>
<idno type="ISSN">0038-0644</idno>
</series>
<idno type="istex">0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</idno>
<idno type="DOI">10.1002/spe.1089</idno>
<idno type="ArticleID">SPE1089</idno>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">0038-0644</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="KwdEn" xml:lang="en">
<term>compiler optimization</term>
<term>source‐to‐source translators</term>
<term>transformation language</term>
</keywords>
</textClass>
<langUsage>
<language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</div>
</front>
</TEI>
<istex>
<corpusName>wiley</corpusName>
<author>
<json:item>
<name>Qing Yi</name>
<affiliations>
<json:string>University of Texas at San Antonio, San Antonio, TX, U.S.A.</json:string>
</affiliations>
</json:item>
</author>
<subject>
<json:item>
<lang>
<json:string>eng</json:string>
</lang>
<value>transformation language</value>
</json:item>
<json:item>
<lang>
<json:string>eng</json:string>
</lang>
<value>compiler optimization</value>
</json:item>
<json:item>
<lang>
<json:string>eng</json:string>
</lang>
<value>source‐to‐source translators</value>
</json:item>
</subject>
<articleId>
<json:string>SPE1089</json:string>
</articleId>
<language>
<json:string>eng</json:string>
</language>
<originalGenre>
<json:string>article</json:string>
</originalGenre>
<abstract>We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</abstract>
<qualityIndicators>
<score>8.096</score>
<pdfVersion>1.6</pdfVersion>
<pdfPageSize>593.887 x 782.362 pts</pdfPageSize>
<refBibsNative>true</refBibsNative>
<keywordCount>3</keywordCount>
<abstractCharCount>1009</abstractCharCount>
<pdfWordCount>15400</pdfWordCount>
<pdfCharCount>92487</pdfCharCount>
<pdfPageCount>32</pdfPageCount>
<abstractWordCount>133</abstractWordCount>
</qualityIndicators>
<title>POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<genre>
<json:string>article</json:string>
</genre>
<host>
<volume>42</volume>
<publisherId>
<json:string>SPE</json:string>
</publisherId>
<pages>
<total>32</total>
<last>706</last>
<first>675</first>
</pages>
<issn>
<json:string>0038-0644</json:string>
</issn>
<issue>6</issue>
<subject>
<json:item>
<value>Research Article</value>
</json:item>
</subject>
<genre>
<json:string>journal</json:string>
</genre>
<language>
<json:string>unknown</json:string>
</language>
<eissn>
<json:string>1097-024X</json:string>
</eissn>
<title>Software: Practice and Experience</title>
<doi>
<json:string>10.1002/(ISSN)1097-024X</json:string>
</doi>
</host>
<publicationDate>2012</publicationDate>
<copyrightDate>2012</copyrightDate>
<doi>
<json:string>10.1002/spe.1089</json:string>
</doi>
<id>0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</id>
<score>0.103139</score>
<fulltext>
<json:item>
<original>true</original>
<mimetype>application/pdf</mimetype>
<extension>pdf</extension>
<uri>https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/pdf</uri>
</json:item>
<json:item>
<original>false</original>
<mimetype>application/zip</mimetype>
<extension>zip</extension>
<uri>https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/zip</uri>
</json:item>
<json:item>
<original>false</original>
<mimetype>text/plain</mimetype>
<extension>txt</extension>
<uri>https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/txt</uri>
</json:item>
<istex:fulltextTEI uri="https://api.istex.fr/document/0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D/fulltext/tei">
<teiHeader>
<fileDesc>
<titleStmt>
<title level="a" type="main" xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
</titleStmt>
<publicationStmt>
<authority>ISTEX</authority>
<publisher>John Wiley & Sons, Ltd</publisher>
<pubPlace>Chichester, UK</pubPlace>
<availability>
<p>Copyright © 2012 John Wiley & Sons, Ltd.Copyright © 2011 John Wiley & Sons, Ltd.</p>
</availability>
<date>2012</date>
</publicationStmt>
<sourceDesc>
<biblStruct type="inbook">
<analytic>
<title level="a" type="main" xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<author xml:id="author-1">
<persName>
<forename type="first">Qing</forename>
<surname>Yi</surname>
</persName>
<note type="correspondence">
<p>Correspondence: University of Texas at San Antonio, San Antonio, TX, U.S.A.</p>
</note>
<affiliation>University of Texas at San Antonio, San Antonio, TX, U.S.A.</affiliation>
</author>
</analytic>
<monogr>
<title level="j">Software: Practice and Experience</title>
<title level="j" type="abbrev">Prog. Softw. Pract. Exper.</title>
<idno type="pISSN">0038-0644</idno>
<idno type="eISSN">1097-024X</idno>
<idno type="DOI">10.1002/(ISSN)1097-024X</idno>
<imprint>
<publisher>John Wiley & Sons, Ltd</publisher>
<pubPlace>Chichester, UK</pubPlace>
<date type="published" when="2012-06"></date>
<biblScope unit="volume">42</biblScope>
<biblScope unit="issue">6</biblScope>
<biblScope unit="page" from="675">675</biblScope>
<biblScope unit="page" to="706">706</biblScope>
</imprint>
</monogr>
<idno type="istex">0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</idno>
<idno type="DOI">10.1002/spe.1089</idno>
<idno type="ArticleID">SPE1089</idno>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<creation>
<date>2012</date>
</creation>
<langUsage>
<language ident="en">en</language>
</langUsage>
<abstract xml:lang="en">
<p>We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</p>
</abstract>
<textClass xml:lang="en">
<keywords scheme="keyword">
<list>
<head>keywords</head>
<item>
<term>transformation language</term>
</item>
<item>
<term>compiler optimization</term>
</item>
<item>
<term>source‐to‐source translators</term>
</item>
</list>
</keywords>
</textClass>
<textClass>
<keywords scheme="Journal Subject">
<list>
<head>article-category</head>
<item>
<term>Research Article</term>
</item>
</list>
</keywords>
</textClass>
</profileDesc>
<revisionDesc>
<change when="2010-08-31">Received</change>
<change when="2011-03-25">Registration</change>
<change when="2012-06">Published</change>
</revisionDesc>
</teiHeader>
</istex:fulltextTEI>
</fulltext>
<metadata>
<istex:metadataXml wicri:clean="Wiley, elements deleted: body">
<istex:xmlDeclaration>version="1.0" encoding="UTF-8" standalone="yes"</istex:xmlDeclaration>
<istex:document>
<component type="serialArticle" version="2.0" xml:lang="en" xml:id="spe1089">
<header xml:id="spe1089-hdr-0001">
<publicationMeta level="product">
<publisherInfo>
<publisherName>John Wiley & Sons, Ltd</publisherName>
<publisherLoc>Chichester, UK</publisherLoc>
</publisherInfo>
<doi>10.1002/(ISSN)1097-024X</doi>
<issn type="print">0038-0644</issn>
<issn type="electronic">1097-024X</issn>
<idGroup>
<id type="product" value="SPE"></id>
</idGroup>
<titleGroup>
<title type="main" xml:lang="en" sort="SOFTWARE: PRACTICE AND EXPERIENCE">Software: Practice and Experience</title>
<title type="short">Prog. Softw. Pract. Exper.</title>
</titleGroup>
</publicationMeta>
<publicationMeta level="part" position="60">
<doi>10.1002/spe.v42.6</doi>
<copyright ownership="publisher">Copyright © 2012 John Wiley & Sons, Ltd.</copyright>
<numberingGroup>
<numbering type="journalVolume" number="42">42</numbering>
<numbering type="journalIssue">6</numbering>
</numberingGroup>
<coverDate startDate="2012-06">June 2012</coverDate>
</publicationMeta>
<publicationMeta level="unit" type="article" position="2" status="forIssue">
<doi>10.1002/spe.1089</doi>
<idGroup>
<id type="unit" value="SPE1089"></id>
</idGroup>
<countGroup>
<count type="pageTotal" number="32"></count>
</countGroup>
<titleGroup>
<title type="articleCategory">Research Article</title>
<title type="tocHeading1">Research Articles</title>
</titleGroup>
<copyright ownership="publisher">Copyright © 2011 John Wiley & Sons, Ltd.</copyright>
<eventGroup>
<event type="manuscriptReceived" date="2010-08-31"></event>
<event type="manuscriptRevised" date="2011-03-23"></event>
<event type="manuscriptAccepted" date="2011-03-25"></event>
<event type="xmlConverted" agent="Converter:JWSART34_TO_WML3G version:2.3.25.1 mode:FullText mathml2tex" date="2012-04-25"></event>
<event type="xmlCorrected" agent="SPi Global" date="2012-04-25"></event>
<event type="publishedOnlineEarlyUnpaginated" date="2011-05-11"></event>
<event type="firstOnline" date="2011-05-11"></event>
<event type="publishedOnlineFinalForm" date="2012-05-04"></event>
<event type="xmlConverted" agent="Converter:WILEY_ML3G_TO_WILEY_ML3GV2 version:3.8.8" date="2014-02-08"></event>
<event type="xmlConverted" agent="Converter:WML3G_To_WML3G version:4.3.4 mode:FullText" date="2015-02-24"></event>
</eventGroup>
<numberingGroup>
<numbering type="pageFirst">675</numbering>
<numbering type="pageLast">706</numbering>
</numberingGroup>
<correspondenceTo>University of Texas at San Antonio, San Antonio, TX, U.S.A.</correspondenceTo>
<linkGroup>
<link type="toTypesetVersion" href="file:SPE.SPE1089.pdf"></link>
</linkGroup>
</publicationMeta>
<contentMeta>
<titleGroup>
<title type="main" xml:lang="en">POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
<title type="short" xml:lang="en">POET</title>
</titleGroup>
<creators>
<creator xml:id="spe1089-cr-0001" creatorRole="author" affiliationRef="#spe1089-aff-0001" corresponding="yes">
<personName>
<givenNames>Qing</givenNames>
<familyName>Yi</familyName>
</personName>
<contactDetails>
<email>qingyi@cs.utsa.edu</email>
</contactDetails>
</creator>
</creators>
<affiliationGroup xml:id="spe1089-affgp-0001">
<affiliation xml:id="spe1089-aff-0001" countryCode="US" type="organization">
<unparsedAffiliation>University of Texas at San Antonio, San Antonio, TX, U.S.A.</unparsedAffiliation>
</affiliation>
</affiliationGroup>
<keywordGroup xml:lang="en" type="author">
<keyword xml:id="spe1089-kwd-0001">transformation language</keyword>
<keyword xml:id="spe1089-kwd-0002">compiler optimization</keyword>
<keyword xml:id="spe1089-kwd-0003">source‐to‐source translators</keyword>
</keywordGroup>
<abstractGroup>
<abstract xml:id="spe1089-abs-0001" type="main" xml:lang="en">
<title type="main">SUMMARY</title>
<p xml:id="spe1089-para-0001">We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building
<i>ad hoc</i>
translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting
<i>ad hoc</i>
code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</p>
</abstract>
</abstractGroup>
</contentMeta>
</header>
</component>
</istex:document>
</istex:metadataXml>
<mods version="3.6">
<titleInfo lang="en">
<title>POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
</titleInfo>
<titleInfo type="abbreviated" lang="en">
<title>POET</title>
</titleInfo>
<titleInfo type="alternative" contentType="CDATA" lang="en">
<title>POET: a scripting language for applying parameterized source‐to‐source program transformations</title>
</titleInfo>
<name type="personal">
<namePart type="given">Qing</namePart>
<namePart type="family">Yi</namePart>
<affiliation>University of Texas at San Antonio, San Antonio, TX, U.S.A.</affiliation>
<description>Correspondence: University of Texas at San Antonio, San Antonio, TX, U.S.A.</description>
<role>
<roleTerm type="text">author</roleTerm>
</role>
</name>
<typeOfResource>text</typeOfResource>
<genre type="article" displayLabel="article"></genre>
<originInfo>
<publisher>John Wiley & Sons, Ltd</publisher>
<place>
<placeTerm type="text">Chichester, UK</placeTerm>
</place>
<dateIssued encoding="w3cdtf">2012-06</dateIssued>
<dateCaptured encoding="w3cdtf">2010-08-31</dateCaptured>
<dateValid encoding="w3cdtf">2011-03-25</dateValid>
<copyrightDate encoding="w3cdtf">2012</copyrightDate>
</originInfo>
<language>
<languageTerm type="code" authority="rfc3066">en</languageTerm>
<languageTerm type="code" authority="iso639-2b">eng</languageTerm>
</language>
<physicalDescription>
<internetMediaType>text/html</internetMediaType>
</physicalDescription>
<abstract lang="en">We present POET, a scripting language designed for applying advanced program transformations to code in arbitrary programming languages as well as building ad hoc translators between these languages. We have used POET to support a large number of compiler optimizations, including loop interchange, parallelization, blocking, fusion/fission, strength reduction, scalar replacement, SSE vectorization, among others, and to fully support the code generation of several domain‐specific languages, including automatic tester/timer generation, and automatically translating a finite‐state‐machine‐based behavior modeling language into C++/ Java code. This paper presents key design and implementation decisions of the POET language and show how to use various language features to significantly reduce the difficulty of supporting programmable compiler optimization for high performance computing and supporting ad hoc code generation for various domain‐specific languages. Copyright © 2011 John Wiley & Sons, Ltd.</abstract>
<subject lang="en">
<genre>keywords</genre>
<topic>transformation language</topic>
<topic>compiler optimization</topic>
<topic>source‐to‐source translators</topic>
</subject>
<relatedItem type="host">
<titleInfo>
<title>Software: Practice and Experience</title>
</titleInfo>
<titleInfo type="abbreviated">
<title>Prog. Softw. Pract. Exper.</title>
</titleInfo>
<genre type="journal">journal</genre>
<subject>
<genre>article-category</genre>
<topic>Research Article</topic>
</subject>
<identifier type="ISSN">0038-0644</identifier>
<identifier type="eISSN">1097-024X</identifier>
<identifier type="DOI">10.1002/(ISSN)1097-024X</identifier>
<identifier type="PublisherID">SPE</identifier>
<part>
<date>2012</date>
<detail type="volume">
<caption>vol.</caption>
<number>42</number>
</detail>
<detail type="issue">
<caption>no.</caption>
<number>6</number>
</detail>
<extent unit="pages">
<start>675</start>
<end>706</end>
<total>32</total>
</extent>
</part>
</relatedItem>
<identifier type="istex">0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D</identifier>
<identifier type="DOI">10.1002/spe.1089</identifier>
<identifier type="ArticleID">SPE1089</identifier>
<accessCondition type="use and reproduction" contentType="copyright">Copyright © 2012 John Wiley & Sons, Ltd.Copyright © 2011 John Wiley & Sons, Ltd.</accessCondition>
<recordInfo>
<recordContentSource>WILEY</recordContentSource>
<recordOrigin>John Wiley & Sons, Ltd</recordOrigin>
</recordInfo>
</mods>
</metadata>
<serie></serie>
</istex>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/France/explor/AussoisV1/Data/Main/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000D88 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Corpus/biblio.hfd -nk 000D88 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/France
   |area=    AussoisV1
   |flux=    Main
   |étape=   Corpus
   |type=    RBID
   |clé=     ISTEX:0171B4795F37BB4F726DEC2DE3D1A9A304EDFE3D
   |texte=   POET: a scripting language for applying parameterized source‐to‐source program transformations
}}

Wicri

This area was generated with Dilib version V0.6.29.
Data generation: Sun Apr 16 19:50:37 2017. Site generation: Mon Feb 12 14:44:36 2024