Design of variable precision transcendental function automatic generator

The performance of transcendental functions is important to high-performance applications. Various customized implementations of transcendental functions in practice to obtain better performance for some particular applications, but specializing the transcendental functions for each individual appli...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of supercomputing 2022-02, Vol.78 (2), p.2196-2218
Hauptverfasser: Hao, Jiangwei, Xu, Jinchen, Guo, Shaozhong, Xia, YuanYuan
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 2218
container_issue 2
container_start_page 2196
container_title The Journal of supercomputing
container_volume 78
creator Hao, Jiangwei
Xu, Jinchen
Guo, Shaozhong
Xia, YuanYuan
description The performance of transcendental functions is important to high-performance applications. Various customized implementations of transcendental functions in practice to obtain better performance for some particular applications, but specializing the transcendental functions for each individual application cannot scale with the increase and diversity of the latter. It is thus of vital importance to design and implement an automatic generator for transcendental functions. This article implements an automatic generator TGen (transcendental function generator) for variable precision transcendental functions. Given a specific computation interval, TGen can automatically generate independent implementations with different precisions for a transcendental function, and select the most suitable version for the target by means of a code filtering strategy. Our generator can now support the automatic generation of 18 representative transcendental functions. The experimental results show that TGen can generate code with the unfixed accuracy, and the performance of the generated code is superior to that of the code generated by metalibm. More specifically, when compiled with the GCC compiler, the code generated by TGen can provide a mean speedup of 1.84 × over that of a metalibm’s version, while the speedup of TGen’s code over that of the metalibm is 1.27 × when compiled with the SW5CC compiler.
doi_str_mv 10.1007/s11227-021-03937-8
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2622619814</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2622619814</sourcerecordid><originalsourceid>FETCH-LOGICAL-c319t-16dd5cae21043b0986bcadee57285771f3cd37ecd56a4a8131e1204ff9dbc9743</originalsourceid><addsrcrecordid>eNp9kE1LxDAQhoMouK7-AU8Fz9FM0jbpUdaPFRa86DmkyaR02U3XJBX893at4M3TwPA-7wwPIdfAboExeZcAOJeUcaBMNEJSdUIWUElBWanKU7JgDWdUVSU_JxcpbRljpZBiQdYPmPouFIMvPk3sTbvD4hDR9qkfQpGjCclicBiy2RV-DDYf92bMw97k3hYdBowmD_GSnHmzS3j1O5fk_enxbbWmm9fnl9X9hloBTaZQO1dZgxymB1rWqLq1xiFWkqtKSvDCOiHRuqo2pVEgAIGz0vvGtbaRpViSm7n3EIePEVPW22GMYTqpec15DY2CY4rPKRuHlCJ6fYj93sQvDUwfjenZmJ6M6R9jWk2QmKE0hUOH8a_6H-obC59vLA</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2622619814</pqid></control><display><type>article</type><title>Design of variable precision transcendental function automatic generator</title><source>SpringerNature Journals</source><creator>Hao, Jiangwei ; Xu, Jinchen ; Guo, Shaozhong ; Xia, YuanYuan</creator><creatorcontrib>Hao, Jiangwei ; Xu, Jinchen ; Guo, Shaozhong ; Xia, YuanYuan</creatorcontrib><description>The performance of transcendental functions is important to high-performance applications. Various customized implementations of transcendental functions in practice to obtain better performance for some particular applications, but specializing the transcendental functions for each individual application cannot scale with the increase and diversity of the latter. It is thus of vital importance to design and implement an automatic generator for transcendental functions. This article implements an automatic generator TGen (transcendental function generator) for variable precision transcendental functions. Given a specific computation interval, TGen can automatically generate independent implementations with different precisions for a transcendental function, and select the most suitable version for the target by means of a code filtering strategy. Our generator can now support the automatic generation of 18 representative transcendental functions. The experimental results show that TGen can generate code with the unfixed accuracy, and the performance of the generated code is superior to that of the code generated by metalibm. More specifically, when compiled with the GCC compiler, the code generated by TGen can provide a mean speedup of 1.84 × over that of a metalibm’s version, while the speedup of TGen’s code over that of the metalibm is 1.27 × when compiled with the SW5CC compiler.</description><identifier>ISSN: 0920-8542</identifier><identifier>EISSN: 1573-0484</identifier><identifier>DOI: 10.1007/s11227-021-03937-8</identifier><language>eng</language><publisher>New York: Springer US</publisher><subject>Compilers ; Computer Science ; Function generators ; Interpreters ; Processor Architectures ; Programming Languages ; Transcendental functions</subject><ispartof>The Journal of supercomputing, 2022-02, Vol.78 (2), p.2196-2218</ispartof><rights>The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2021</rights><rights>The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2021.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c319t-16dd5cae21043b0986bcadee57285771f3cd37ecd56a4a8131e1204ff9dbc9743</citedby><cites>FETCH-LOGICAL-c319t-16dd5cae21043b0986bcadee57285771f3cd37ecd56a4a8131e1204ff9dbc9743</cites><orcidid>0000-0002-6275-2617</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s11227-021-03937-8$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s11227-021-03937-8$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>314,780,784,27924,27925,41488,42557,51319</link.rule.ids></links><search><creatorcontrib>Hao, Jiangwei</creatorcontrib><creatorcontrib>Xu, Jinchen</creatorcontrib><creatorcontrib>Guo, Shaozhong</creatorcontrib><creatorcontrib>Xia, YuanYuan</creatorcontrib><title>Design of variable precision transcendental function automatic generator</title><title>The Journal of supercomputing</title><addtitle>J Supercomput</addtitle><description>The performance of transcendental functions is important to high-performance applications. Various customized implementations of transcendental functions in practice to obtain better performance for some particular applications, but specializing the transcendental functions for each individual application cannot scale with the increase and diversity of the latter. It is thus of vital importance to design and implement an automatic generator for transcendental functions. This article implements an automatic generator TGen (transcendental function generator) for variable precision transcendental functions. Given a specific computation interval, TGen can automatically generate independent implementations with different precisions for a transcendental function, and select the most suitable version for the target by means of a code filtering strategy. Our generator can now support the automatic generation of 18 representative transcendental functions. The experimental results show that TGen can generate code with the unfixed accuracy, and the performance of the generated code is superior to that of the code generated by metalibm. More specifically, when compiled with the GCC compiler, the code generated by TGen can provide a mean speedup of 1.84 × over that of a metalibm’s version, while the speedup of TGen’s code over that of the metalibm is 1.27 × when compiled with the SW5CC compiler.</description><subject>Compilers</subject><subject>Computer Science</subject><subject>Function generators</subject><subject>Interpreters</subject><subject>Processor Architectures</subject><subject>Programming Languages</subject><subject>Transcendental functions</subject><issn>0920-8542</issn><issn>1573-0484</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><recordid>eNp9kE1LxDAQhoMouK7-AU8Fz9FM0jbpUdaPFRa86DmkyaR02U3XJBX893at4M3TwPA-7wwPIdfAboExeZcAOJeUcaBMNEJSdUIWUElBWanKU7JgDWdUVSU_JxcpbRljpZBiQdYPmPouFIMvPk3sTbvD4hDR9qkfQpGjCclicBiy2RV-DDYf92bMw97k3hYdBowmD_GSnHmzS3j1O5fk_enxbbWmm9fnl9X9hloBTaZQO1dZgxymB1rWqLq1xiFWkqtKSvDCOiHRuqo2pVEgAIGz0vvGtbaRpViSm7n3EIePEVPW22GMYTqpec15DY2CY4rPKRuHlCJ6fYj93sQvDUwfjenZmJ6M6R9jWk2QmKE0hUOH8a_6H-obC59vLA</recordid><startdate>20220201</startdate><enddate>20220201</enddate><creator>Hao, Jiangwei</creator><creator>Xu, Jinchen</creator><creator>Guo, Shaozhong</creator><creator>Xia, YuanYuan</creator><general>Springer US</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-6275-2617</orcidid></search><sort><creationdate>20220201</creationdate><title>Design of variable precision transcendental function automatic generator</title><author>Hao, Jiangwei ; Xu, Jinchen ; Guo, Shaozhong ; Xia, YuanYuan</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c319t-16dd5cae21043b0986bcadee57285771f3cd37ecd56a4a8131e1204ff9dbc9743</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Compilers</topic><topic>Computer Science</topic><topic>Function generators</topic><topic>Interpreters</topic><topic>Processor Architectures</topic><topic>Programming Languages</topic><topic>Transcendental functions</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Hao, Jiangwei</creatorcontrib><creatorcontrib>Xu, Jinchen</creatorcontrib><creatorcontrib>Guo, Shaozhong</creatorcontrib><creatorcontrib>Xia, YuanYuan</creatorcontrib><collection>CrossRef</collection><jtitle>The Journal of supercomputing</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Hao, Jiangwei</au><au>Xu, Jinchen</au><au>Guo, Shaozhong</au><au>Xia, YuanYuan</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Design of variable precision transcendental function automatic generator</atitle><jtitle>The Journal of supercomputing</jtitle><stitle>J Supercomput</stitle><date>2022-02-01</date><risdate>2022</risdate><volume>78</volume><issue>2</issue><spage>2196</spage><epage>2218</epage><pages>2196-2218</pages><issn>0920-8542</issn><eissn>1573-0484</eissn><abstract>The performance of transcendental functions is important to high-performance applications. Various customized implementations of transcendental functions in practice to obtain better performance for some particular applications, but specializing the transcendental functions for each individual application cannot scale with the increase and diversity of the latter. It is thus of vital importance to design and implement an automatic generator for transcendental functions. This article implements an automatic generator TGen (transcendental function generator) for variable precision transcendental functions. Given a specific computation interval, TGen can automatically generate independent implementations with different precisions for a transcendental function, and select the most suitable version for the target by means of a code filtering strategy. Our generator can now support the automatic generation of 18 representative transcendental functions. The experimental results show that TGen can generate code with the unfixed accuracy, and the performance of the generated code is superior to that of the code generated by metalibm. More specifically, when compiled with the GCC compiler, the code generated by TGen can provide a mean speedup of 1.84 × over that of a metalibm’s version, while the speedup of TGen’s code over that of the metalibm is 1.27 × when compiled with the SW5CC compiler.</abstract><cop>New York</cop><pub>Springer US</pub><doi>10.1007/s11227-021-03937-8</doi><tpages>23</tpages><orcidid>https://orcid.org/0000-0002-6275-2617</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 0920-8542
ispartof The Journal of supercomputing, 2022-02, Vol.78 (2), p.2196-2218
issn 0920-8542
1573-0484
language eng
recordid cdi_proquest_journals_2622619814
source SpringerNature Journals
subjects Compilers
Computer Science
Function generators
Interpreters
Processor Architectures
Programming Languages
Transcendental functions
title Design of variable precision transcendental function automatic generator
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-29T01%3A09%3A26IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Design%20of%20variable%20precision%20transcendental%20function%20automatic%20generator&rft.jtitle=The%20Journal%20of%20supercomputing&rft.au=Hao,%20Jiangwei&rft.date=2022-02-01&rft.volume=78&rft.issue=2&rft.spage=2196&rft.epage=2218&rft.pages=2196-2218&rft.issn=0920-8542&rft.eissn=1573-0484&rft_id=info:doi/10.1007/s11227-021-03937-8&rft_dat=%3Cproquest_cross%3E2622619814%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2622619814&rft_id=info:pmid/&rfr_iscdi=true