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...
Gespeichert in:
Veröffentlicht in: | The Journal of supercomputing 2022-02, Vol.78 (2), p.2196-2218 |
---|---|
Hauptverfasser: | , , , |
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 |