Asynchronous adaptive optimisation for generic data-parallel array programming
SUMMARY Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich ion hierarchies. Driven by the aim for increased reuse, such basic building blocks tend to become more and more...
Uloženo v:
| Vydáno v: | Concurrency and computation Ročník 24; číslo 5; s. 499 - 516 |
|---|---|
| Hlavní autoři: | , , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Chichester, UK
John Wiley & Sons, Ltd
10.04.2012
|
| Témata: | |
| ISSN: | 1532-0626, 1532-0634 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | SUMMARY
Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich ion hierarchies. Driven by the aim for increased reuse, such basic building blocks tend to become more and more generic in their specification; structural as well as behavioural properties are turned into parameters that are passed on to lower layers of ion where eventually a differentiation is being made. In the context of array programming, such properties are typically array ranks (number of axes/dimensions) and array shapes (number of elements along each axis/dimension). This allows for definitions of operations such as element‐wise additions, concatenations, rotations, and so on, which jointly enable a very high‐level compositional style of programming, similar to, for instance, MATLAB. However, such a generic programming style generally comes at a price in terms of runtime overheads when compared against tailor‐made low‐level implementations. Additional layers of ion as well as the lack of hard‐coded structural properties often inhibits optimisations that are obvious otherwise. Although complex static compiler analyses and transformations such as partial evaluations can ameliorate the situation to quite some extent, there are cases, where the required level of information is not available until runtime. In this paper, we propose to shift part of the optimisation process into the runtime of applications. Triggered by some runtime observation, the compiler asynchronously applies partial evaluation techniques to frequently used program parts and dynamically replaces initial program fragments by more specialised ones through dynamic re‐linking. In contrast to many existing approaches, we suggest this optimisation to be done in a rather non‐intrusive, decoupled way. We use a full‐fledged compiler that is run on a separate core. This measure enables us to run the compiler on its highest optimisation‐level, which requires non‐negligible compilation times for our optimisations. We use the compiler's type system to identify the potential dynamic optimisations. And we use the host language's module system as a facilitator for the dynamic code modifications. We present the architecture and implementation of an adaptive compilation framework for Single Assignment C, a data‐parallel array programming language. Single Assignment C advocates shape‐generic and rank‐generic programming with arrays. A sophisticated, highly optimising compiler technology nevertheless achieves competitive runtime performance. We demonstrate the suitability of our approach to achieve consistently high performance independent of the static availability of array properties by means of several experiments based on a highly generic formulation of rank‐invariant convolution as a case study. Copyright © 2011 John Wiley & Sons, Ltd. |
|---|---|
| AbstractList | SUMMARY
Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich ion hierarchies. Driven by the aim for increased reuse, such basic building blocks tend to become more and more generic in their specification; structural as well as behavioural properties are turned into parameters that are passed on to lower layers of ion where eventually a differentiation is being made. In the context of array programming, such properties are typically array ranks (number of axes/dimensions) and array shapes (number of elements along each axis/dimension). This allows for definitions of operations such as element‐wise additions, concatenations, rotations, and so on, which jointly enable a very high‐level compositional style of programming, similar to, for instance, MATLAB. However, such a generic programming style generally comes at a price in terms of runtime overheads when compared against tailor‐made low‐level implementations. Additional layers of ion as well as the lack of hard‐coded structural properties often inhibits optimisations that are obvious otherwise. Although complex static compiler analyses and transformations such as partial evaluations can ameliorate the situation to quite some extent, there are cases, where the required level of information is not available until runtime. In this paper, we propose to shift part of the optimisation process into the runtime of applications. Triggered by some runtime observation, the compiler asynchronously applies partial evaluation techniques to frequently used program parts and dynamically replaces initial program fragments by more specialised ones through dynamic re‐linking. In contrast to many existing approaches, we suggest this optimisation to be done in a rather non‐intrusive, decoupled way. We use a full‐fledged compiler that is run on a separate core. This measure enables us to run the compiler on its highest optimisation‐level, which requires non‐negligible compilation times for our optimisations. We use the compiler's type system to identify the potential dynamic optimisations. And we use the host language's module system as a facilitator for the dynamic code modifications. We present the architecture and implementation of an adaptive compilation framework for Single Assignment C, a data‐parallel array programming language. Single Assignment C advocates shape‐generic and rank‐generic programming with arrays. A sophisticated, highly optimising compiler technology nevertheless achieves competitive runtime performance. We demonstrate the suitability of our approach to achieve consistently high performance independent of the static availability of array properties by means of several experiments based on a highly generic formulation of rank‐invariant convolution as a case study. Copyright © 2011 John Wiley & Sons, Ltd. Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich abstraction hierarchies. Driven by the aim for increased reuse, such basic building blocks tend to become more and more generic in their specification; structural as well as behavioural properties are turned into parameters that are passed on to lower layers of abstraction where eventually a differentiation is being made. In the context of array programming, such properties are typically array ranks (number of axes/dimensions) and array shapes (number of elements along each axis/dimension). This allows for abstract definitions of operations such as element‐wise additions, concatenations, rotations, and so on, which jointly enable a very high‐level compositional style of programming, similar to, for instance, MATLAB . However, such a generic programming style generally comes at a price in terms of runtime overheads when compared against tailor‐made low‐level implementations. Additional layers of abstraction as well as the lack of hard‐coded structural properties often inhibits optimisations that are obvious otherwise. Although complex static compiler analyses and transformations such as partial evaluations can ameliorate the situation to quite some extent, there are cases, where the required level of information is not available until runtime. In this paper, we propose to shift part of the optimisation process into the runtime of applications. Triggered by some runtime observation, the compiler asynchronously applies partial evaluation techniques to frequently used program parts and dynamically replaces initial program fragments by more specialised ones through dynamic re‐linking. In contrast to many existing approaches, we suggest this optimisation to be done in a rather non‐intrusive, decoupled way. We use a full‐fledged compiler that is run on a separate core. This measure enables us to run the compiler on its highest optimisation‐level, which requires non‐negligible compilation times for our optimisations. We use the compiler's type system to identify the potential dynamic optimisations. And we use the host language's module system as a facilitator for the dynamic code modifications. We present the architecture and implementation of an adaptive compilation framework for Single Assignment C, a data‐parallel array programming language. Single Assignment C advocates shape‐generic and rank‐generic programming with arrays. A sophisticated, highly optimising compiler technology nevertheless achieves competitive runtime performance. We demonstrate the suitability of our approach to achieve consistently high performance independent of the static availability of array properties by means of several experiments based on a highly generic formulation of rank‐invariant convolution as a case study. Copyright © 2011 John Wiley & Sons, Ltd. |
| Author | Herhut, Stephan van Deurzen, Tim Scholz, Sven-Bodo Grelck, Clemens |
| Author_xml | – sequence: 1 givenname: Clemens surname: Grelck fullname: Grelck, Clemens email: c.grelck@uva.nl, Clemens Grelck, Institute of Informatics, University of Amsterdam, Science Park 904, 1098 XH Amsterdam, The Netherlands., c.grelck@uva.nl organization: Institute of Informatics, University of Amsterdam, 1098 XH Amsterdam, The Netherlands – sequence: 2 givenname: Tim surname: van Deurzen fullname: van Deurzen, Tim organization: Institute of Informatics, University of Amsterdam, 1098 XH Amsterdam, The Netherlands – sequence: 3 givenname: Stephan surname: Herhut fullname: Herhut, Stephan organization: School of Computer Science, University of Hertfordshire, AL10 9AB Hatfield, UK – sequence: 4 givenname: Sven-Bodo surname: Scholz fullname: Scholz, Sven-Bodo organization: School of Computer Science, University of Hertfordshire, AL10 9AB Hatfield, UK |
| BookMark | eNp1kD1PwzAURS0EEm1B4idkZEmx4ySOxxKVgFQVBqCj9WI7xZDEkR0-8u9pKaoEgum-4dwrvTNGh61tNUJnBE8JxtGF7PSUZHF0gEYkoVGIUxof7u8oPUZj758xJgRTMkLLmR9a-eRsa199AAq63rzpwG6iMR56Y9ugsi5Y61Y7IwMFPYQdOKhrXQfgHAxB5-zaQdOYdn2CjiqovT79zgl6uJrf59fh4ra4yWeLUFLKolDRJMugzFSK44ixKs4U4byiScVLoiTXCeGpBh1hmpESp5wzXqokLZWWmmJJJ-h8tyud9d7pSnTONOAGQbDYehAbD2LrYYNOf6HS9F-P9Q5M_Vch3BXeTa2Hf4dFfjf_yRvf6489D-5FpIyyRKyWhWCXScEe85Uo6CcXbICx |
| CitedBy_id | crossref_primary_10_1002_cpe_1852 crossref_primary_10_1007_s10766_018_0567_9 |
| Cites_doi | 10.1145/289121.289144 10.1145/301631.301683 10.1142/S0129626403001379 10.1145/358438.349303 10.1535/itj.1104.07 10.1007/11587514_4 10.1016/j.parco.2006.08.003 10.1145/237721.237767 10.1145/1806596.1806638 10.1007/s10766‐009‐0121‐x 10.1017/S0956796805005538 10.1007/s10766-006-0018-x |
| ContentType | Journal Article |
| Copyright | Copyright © 2011 John Wiley & Sons, Ltd. |
| Copyright_xml | – notice: Copyright © 2011 John Wiley & Sons, Ltd. |
| DBID | BSCLL AAYXX CITATION |
| DOI | 10.1002/cpe.1842 |
| DatabaseName | Istex CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1532-0634 |
| EndPage | 516 |
| ExternalDocumentID | 10_1002_cpe_1842 CPE1842 ark_67375_WNG_7B5G7VCW_G |
| Genre | article |
| GroupedDBID | .3N .DC .GA .Y3 05W 0R~ 10A 1L6 1OB 1OC 33P 3SF 3WU 4.4 50Y 50Z 51W 51X 52M 52N 52O 52P 52S 52T 52U 52W 52X 5GY 5VS 66C 702 7PT 8-0 8-1 8-3 8-4 8-5 8UM 930 A03 AAESR AAEVG AAHQN AAMNL AANHP AANLZ AAONW AASGY AAXRX AAYCA AAZKR ABCQN ABCUV ABEML ABIJN ACAHQ ACBWZ ACCZN ACPOU ACRPL ACSCC ACXBN ACXQS ACYXJ ADBBV ADEOM ADIZJ ADKYN ADMGS ADMLS ADNMO ADOZA ADXAS ADZMN AEIGN AEIMD AEUYR AEYWJ AFBPY AFFPM AFGKR AFWVQ AGQPQ AGYGG AHBTC AITYG AIURR AJXKR ALMA_UNASSIGNED_HOLDINGS ALUQN ALVPJ AMBMR AMYDB ASPBG ATUGU AUFTA AVWKF AZBYB AZFZN BAFTC BDRZF BFHJK BHBCM BMNLL BROTX BRXPI BSCLL BY8 CS3 D-E D-F DCZOG DPXWK DR2 DRFUL DRSTM EBS EJD F00 F01 F04 F5P FEDTE G-S G.N GNP GODZA HF~ HGLYW HHY HVGLF HZ~ IX1 JPC KQQ LATKE LAW LC2 LC3 LEEKS LH4 LITHE LOXES LP6 LP7 LUTES LW6 LYRES MEWTI MK4 MRFUL MRSTM MSFUL MSSTM MXFUL MXSTM N04 N05 N9A O66 O9- OIG P2W P2X P4D PQQKQ Q.N Q11 QB0 QRW R.K ROL RX1 SUPJJ TN5 UB1 V2E W8V W99 WBKPD WIH WIK WOHZO WQJ WXSBR WYISQ WZISG XG1 XV2 ~IA ~WT AAYXX CITATION O8X |
| ID | FETCH-LOGICAL-c3372-d3588ab8d604277f48d199f35f9b1dc9e5196eae20381b069979bd56bdece30c3 |
| IEDL.DBID | DRFUL |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000300977700005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1532-0626 |
| IngestDate | Tue Nov 18 21:37:22 EST 2025 Sat Nov 29 01:41:11 EST 2025 Tue Sep 09 05:06:51 EDT 2025 Sun Sep 21 06:20:24 EDT 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Language | English |
| License | http://onlinelibrary.wiley.com/termsAndConditions#vor |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c3372-d3588ab8d604277f48d199f35f9b1dc9e5196eae20381b069979bd56bdece30c3 |
| Notes | ArticleID:CPE1842 ark:/67375/WNG-7B5G7VCW-G istex:86ABC90E1AE1107D177EC9A297FD7682E1C2E61C |
| OpenAccessLink | https://zenodo.org/record/3409403 |
| PageCount | 18 |
| ParticipantIDs | crossref_primary_10_1002_cpe_1842 crossref_citationtrail_10_1002_cpe_1842 wiley_primary_10_1002_cpe_1842_CPE1842 istex_primary_ark_67375_WNG_7B5G7VCW_G |
| PublicationCentury | 2000 |
| PublicationDate | 2012-04-10 10 April 2012 |
| PublicationDateYYYYMMDD | 2012-04-10 |
| PublicationDate_xml | – month: 04 year: 2012 text: 2012-04-10 day: 10 |
| PublicationDecade | 2010 |
| PublicationPlace | Chichester, UK |
| PublicationPlace_xml | – name: Chichester, UK |
| PublicationTitle | Concurrency and computation |
| PublicationTitleAlternate | Concurrency Computat.: Pract. Exper |
| PublicationYear | 2012 |
| Publisher | John Wiley & Sons, Ltd |
| Publisher_xml | – name: John Wiley & Sons, Ltd |
| References | Grelck C, Scholz SB. Merging compositions of array skeletons in SAC. Journal of Parallel Computing 2006; 32(7-8):507-522. Ghuloum A, Smith T, et al. Future-proof data parallel algorithms and software on Intel multi-core architecture. Intel Technology Journal November 2007; 11(4):333-347. DOI:10.1535/itj.1104.07. Leone M, Lee P. Dynamic specialization in the Fabius system. ACM Computing Surveys 1998; 30(3es). Grelck C, Scholz SB. SAC - from high-level programming with arrays to efficient parallel execution. Parallel Processing Letters 2003; 13(3):401-412. Grelck C, Scholz SB. SAC: a functional array language for efficient multithreaded execution. International Journal of Parallel Programming 2006; 34(4):383-427. Grant B, Philipose M, et al. An evaluation of staged run-time optimizations in DyC. ACM SIGPLAN Notices 1999; 34(5):293-304. Bala V, Duesterwald E, et al. Dynamo: a transparent dynamic optimization system. SIGPLAN Not. May 2000; 35(5):1-12. http://doi.acm.org/10.1145/358438.349303. Grelck C, Scholz S, et al. Asynchronous stream processing with S-Net. International Journal of Parallel Programming 2010; 38(1):38-67. DOI:10.1007/s10766-009-0121-x. Lu J, Chen H, et al. Design and implementation of a lightweight dynamic optimization system. Journal of Instruction-Level Parallelism April 2004; 6:1-24. Grelck C. Shared memory multiprocessor support for functional array processing in SAC. Journal of Functional Programming 2005; 15(3):353-401. 2002; 2312 2003; 2763 2010; 38 2006; 34 2008; 5083 2006; 32 2010 2006; 33 2000; 35 2000; AIB‐00‐7 2003; 13 1998 1999; 34 1996 2004; 6 2005 2004 2003 2002 2005; 15 1998; 30 2010; 6401 2007; 11 Grelck C (e_1_2_12_15_1) 2002 e_1_2_12_6_1 Marcussen‐Wulff N (e_1_2_12_11_1) 2000 e_1_2_12_19_1 Kreye D (e_1_2_12_7_1) 2002 e_1_2_12_2_1 Bernecky R (e_1_2_12_5_1) 2010 Grelck C (e_1_2_12_16_1) 2003 e_1_2_12_17_1 Herhut S (e_1_2_12_4_1) 2008 Herhut S (e_1_2_12_14_1) 2004 e_1_2_12_20_1 e_1_2_12_21_1 e_1_2_12_22_1 Lu J (e_1_2_12_23_1) 2004; 6 e_1_2_12_24_1 e_1_2_12_25_1 Grelck C (e_1_2_12_13_1) 2004 e_1_2_12_12_1 Grelck C (e_1_2_12_3_1) 2006 e_1_2_12_8_1 e_1_2_12_10_1 Noel F (e_1_2_12_18_1) 1998 e_1_2_12_9_1 |
| References_xml | – reference: Grelck C. Shared memory multiprocessor support for functional array processing in SAC. Journal of Functional Programming 2005; 15(3):353-401. – reference: Grelck C, Scholz S, et al. Asynchronous stream processing with S-Net. International Journal of Parallel Programming 2010; 38(1):38-67. DOI:10.1007/s10766-009-0121-x. – reference: Bala V, Duesterwald E, et al. Dynamo: a transparent dynamic optimization system. SIGPLAN Not. May 2000; 35(5):1-12. http://doi.acm.org/10.1145/358438.349303. – reference: Ghuloum A, Smith T, et al. Future-proof data parallel algorithms and software on Intel multi-core architecture. Intel Technology Journal November 2007; 11(4):333-347. DOI:10.1535/itj.1104.07. – reference: Grelck C, Scholz SB. SAC: a functional array language for efficient multithreaded execution. International Journal of Parallel Programming 2006; 34(4):383-427. – reference: Grelck C, Scholz SB. SAC - from high-level programming with arrays to efficient parallel execution. Parallel Processing Letters 2003; 13(3):401-412. – reference: Lu J, Chen H, et al. Design and implementation of a lightweight dynamic optimization system. Journal of Instruction-Level Parallelism April 2004; 6:1-24. – reference: Grant B, Philipose M, et al. An evaluation of staged run-time optimizations in DyC. ACM SIGPLAN Notices 1999; 34(5):293-304. – reference: Grelck C, Scholz SB. Merging compositions of array skeletons in SAC. Journal of Parallel Computing 2006; 32(7-8):507-522. – reference: Leone M, Lee P. Dynamic specialization in the Fabius system. ACM Computing Surveys 1998; 30(3es). – volume: 2312 start-page: 18 year: 2002 end-page: 35 – volume: 6401 start-page: 107 year: 2010 end-page: 124 – volume: 30 issue: 3es year: 1998 article-title: Dynamic specialization in the Fabius system publication-title: ACM Computing Surveys – start-page: 29 year: 2005 end-page: 46 – volume: 13 start-page: 401 issue: 3 year: 2003 end-page: 412 article-title: SAC — from high‐level programming with arrays to efficient parallel execution publication-title: Parallel Processing Letters – volume: AIB‐00‐7 start-page: 381 year: 2000 end-page: 386 – volume: 15 start-page: 353 issue: 3 year: 2005 end-page: 401 article-title: Shared memory multiprocessor support for functional array processing in SAC publication-title: Journal of Functional Programming – volume: 5083 start-page: 254 year: 2008 end-page: 273 – volume: 11 start-page: 333‐347 issue: 4 year: 2007 article-title: Future‐proof data parallel algorithms and software on Intel multi‐core architecture publication-title: Intel Technology Journal – volume: 32 start-page: 507 issue: 7–8 year: 2006 end-page: 522 article-title: Merging compositions of array skeletons in SAC publication-title: Journal of Parallel Computing – volume: 38 start-page: 38 issue: 1 year: 2010 end-page: 67 article-title: Asynchronous stream processing with S‐Net publication-title: International Journal of Parallel Programming – year: 2002 – volume: 34 start-page: 293 issue: 5 year: 1999 end-page: 304 article-title: An evaluation of staged run‐time optimizations in DyC publication-title: ACM SIGPLAN Notices – volume: 33 start-page: 859 year: 2006 end-page: 866 – start-page: 395 year: 2004 end-page: 408 – start-page: 132 year: 1998 end-page: 142 – volume: 6 start-page: 1 year: 2004 end-page: 24 article-title: Design and implementation of a lightweight dynamic optimization system publication-title: Journal of Instruction‐Level Parallelism – start-page: 363 year: 2010 end-page: 375 – start-page: 145 year: 1996 end-page: 156 – start-page: 335 year: 2004 end-page: 348 – volume: 34 start-page: 383 issue: 4 year: 2006 end-page: 427 article-title: SAC: a functional array language for efficient multithreaded execution publication-title: International Journal of Parallel Programming – volume: 2763 start-page: 230 year: 2003 end-page: 235 – volume: 35 start-page: 1 issue: 5 year: 2000 end-page: 12 article-title: Dynamo: a transparent dynamic optimization system publication-title: SIGPLAN Not. – year: 2003 article-title: An infrastructure for adaptive dynamic optimization – ident: e_1_2_12_19_1 doi: 10.1145/289121.289144 – ident: e_1_2_12_20_1 doi: 10.1145/301631.301683 – start-page: 107 volume-title: Implementation and Application of Functional Languages, 21st International Symposium, IFL'09, South Orange, NJ, USA, Revised Selected Papers, Lecture Notes in Computer Science year: 2010 ident: e_1_2_12_5_1 – ident: e_1_2_12_8_1 doi: 10.1142/S0129626403001379 – ident: e_1_2_12_21_1 doi: 10.1145/358438.349303 – start-page: 132 volume-title: International Conference on Computer Languages year: 1998 ident: e_1_2_12_18_1 – ident: e_1_2_12_25_1 doi: 10.1535/itj.1104.07 – start-page: 395 volume-title: Implementation and Application of Functional Languages, 16th International Workshop, IFL'04 year: 2004 ident: e_1_2_12_14_1 – ident: e_1_2_12_22_1 – ident: e_1_2_12_2_1 doi: 10.1007/11587514_4 – ident: e_1_2_12_9_1 doi: 10.1016/j.parco.2006.08.003 – volume: 6 start-page: 1 year: 2004 ident: e_1_2_12_23_1 article-title: Design and implementation of a lightweight dynamic optimization system publication-title: Journal of Instruction‐Level Parallelism – volume-title: 16th International Parallel and Distributed Processing Symposium (IPDPS'02), Fort Lauderdale, Florida, USA year: 2002 ident: e_1_2_12_15_1 – ident: e_1_2_12_17_1 doi: 10.1145/237721.237767 – ident: e_1_2_12_24_1 doi: 10.1145/1806596.1806638 – start-page: 381 volume-title: 12th International Workshop on Implementation of Functional Languages (IFL'00), Aachen, Germany, Aachener Informatik‐Berichte year: 2000 ident: e_1_2_12_11_1 – start-page: 230 volume-title: Parallel Computing Technologies, 7th International Conference, PaCT'03, Nizhni Novgorod, Russia, Lecture Notes in Computer Science year: 2003 ident: e_1_2_12_16_1 – ident: e_1_2_12_12_1 doi: 10.1007/s10766‐009‐0121‐x – start-page: 335 volume-title: Implementation and Application of Functional Languages, 16th International Workshop, IFL'04, Lübeck, Germany year: 2004 ident: e_1_2_12_13_1 – start-page: 254 volume-title: Implementation and Application of Functional Languages, 19th International Symposium, IFL'07, Freiburg, Germany, Revised Selected Papers, Lecture Notes in Computer Science year: 2008 ident: e_1_2_12_4_1 – ident: e_1_2_12_10_1 doi: 10.1017/S0956796805005538 – ident: e_1_2_12_6_1 doi: 10.1007/s10766-006-0018-x – start-page: 859 volume-title: Parallel Computing: Current and Future Issues of High‐End Computing, International Conference ParCo 2005, Malaga, Spain, NIC Series year: 2006 ident: e_1_2_12_3_1 – start-page: 18 volume-title: Implementation of Functional Languages, 13th International Workshop (IFL'01), Stockholm, Sweden, Selected Papers, Lecture Notes in Computer Science year: 2002 ident: e_1_2_12_7_1 |
| SSID | ssj0011031 |
| Score | 1.9414833 |
| Snippet | SUMMARY
Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios... Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the... |
| SourceID | crossref wiley istex |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 499 |
| SubjectTerms | adaptive compilation data-parallel computation shape generic programming |
| Title | Asynchronous adaptive optimisation for generic data-parallel array programming |
| URI | https://api.istex.fr/ark:/67375/WNG-7B5G7VCW-G/fulltext.pdf https://onlinelibrary.wiley.com/doi/abs/10.1002%2Fcpe.1842 |
| Volume | 24 |
| WOSCitedRecordID | wos000300977700005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVWIB databaseName: Wiley Online Library - Journals customDbUrl: eissn: 1532-0634 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0011031 issn: 1532-0626 databaseCode: DRFUL dateStart: 20010101 isFulltext: true titleUrlDefault: https://onlinelibrary.wiley.com providerName: Wiley-Blackwell |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LS8NAEF6k9eDF-sT6YgXRU2y6m8fuUautBylFrO0t7CtSTB-kVfTmT_A3-kvcSdKKoCB42sskhNl5fJOd_Qah49jzlea2UpXSpY6nfeVwl0qHxUQKL2AmNnE2bCJst1m_zztFVyXchcn5IRY_3MAzsngNDi7ktPZFGqom5syWJzb8lok1W6-Eype3ze7N4gwBBhjkbKnEcS1un1PPuqQ2f_ZbMiqDXl--g9QsyzQr__m-NbRaYEt8nhvDOloyow1Umc9twIUbb6LO-fR1pIAV15b9WGgxgZiHx3YZFt092GJZ_ACU1AOFoYv04-0dWMKTxCRYpKl4xUVn19Dmvi3UbV7dNa6dYrKCoygNiaOpz5iQTAcwaiOMPabrnMfUj7msa8WNxXWBEYbAOaJ0A85DLrUfSG2Uoa6i26g0Go_MDsKxLYisIQSckKxWFEAix2yJTrkQnmBVdDpXcaQK2nGYfpFEOWEyiayiIlBUFR0tJCc51cYPMifZLi0ERPoIrWmhH_XarSi88FvhfaMXtaxgtjm_vilqdK5g3f2r4B5asWCJwElS3d1HpVn6ZA7QsnqeDabpYWF8n9rP30U |
| linkProvider | Wiley-Blackwell |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1JSxxBFH7IjJBcojEGl2hKEHNq7anqpQpPOjpjcByG4HYramuRjOPQmhBv_gR_o7_Eer2MCApCTnV53TSv3lr1-vsA1rMoNlb4TlXrkAWRjU0gQqYDnlGtooS7zGUF2UTa7_PzczGYgu36X5gSH2Jy4IaeUcRrdHA8kN56Rg01Y7fp-xMff5uRt6K4Ac29X52T3uQSARkMSrhUGoS-cK-xZ0O6VT_7Ihs1UbH_XlapRZrpzPzXB87Cp6q6JDulOXyGKTeag5mauYFUjvwFBjs3dyODuLi-8SfKqjFGPXLtl6tqvof4apZcICj1pSE4R_p4_4A44cOhGxKV5-qOVLNdVz77zcNJZ_-4fRBU3AqBYSylgWUx50pzmyDZRppF3LaEyFicCd2yRjhf2SVOOYo3iTpMhEiFtnGirTOOhYZ9hcboeuQWgGS-JfKmkAhKi25RIYwc9006E0pFii_Cj1rH0lTA48h_MZQlZDKVXlESFbUIaxPJcQm28YrMRrFNEwGV_8bhtDSWZ_2uTHfjbnraPpNdL1jszptvku3BPq5L7xX8Dh8Ojo96svezf7gMH33pRPFeqRV-g8Zt_setwLT5e3t5k69WlvgEORDjNQ |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1bSxtBFB6CKaUvtbYWb61TkPZp62ZmLzP4ZBMTRQmhVJO3Ya4SGjdho6Jv_Qn9jf6SztlbESoIfZqXs8ty5ly-s3PmOwjtuSjWhvtKVamQBpGJdcBDqgLmiJJRwqyzrhg2kQ6HbDLhoxY6qO_ClPwQzQ838IwiXoOD24Vx-39ZQ_XCfvX1iY-_7SjmiffKdu97__ysOUSACQYlXSoJQg_ca-7ZkOzXzz7KRm1Q7N1jlFqkmf7qf33gG_S6Qpf4sDSHNdSy2Vu0Wk9uwJUjv0Ojw-V9poEX1xf-WBq5gKiH5365qvp7sEez-BJIqacaQx_pw6_fwBM-m9kZlnku73HV23Xls986Ou8f_egeB9VshUBTmpLA0JgxqZhJYNhG6iJmOpw7GjuuOkZz65FdYqUlcJKowoTzlCsTJ8pYbWmo6Xu0ks0zu4Gw8yWRN4WEE1JUixJo5Jgv0imXMpJsE32pdSx0RTwO8y9moqRMJsIrSoCiNtGnRnJRkm38Q-ZzsU2NgMx_QnNaGovxcCDSb_EgveiOxcALFrvz5JtEd3QE69ZzBXfRy1GvL85Ohqfb6JVHTgSOlTrhDlq5zm_sB_RC315Pl_nHyhD_AO894rA |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Asynchronous+adaptive+optimisation+for+generic+data-parallel+array+programming&rft.jtitle=Concurrency+and+computation&rft.au=Grelck%2C+Clemens&rft.au=van+Deurzen%2C+Tim&rft.au=Herhut%2C+Stephan&rft.au=Scholz%2C+Sven-Bodo&rft.date=2012-04-10&rft.pub=John+Wiley+%26+Sons%2C+Ltd&rft.issn=1532-0626&rft.eissn=1532-0634&rft.volume=24&rft.issue=5&rft.spage=499&rft.epage=516&rft_id=info:doi/10.1002%2Fcpe.1842&rft.externalDBID=n%2Fa&rft.externalDocID=ark_67375_WNG_7B5G7VCW_G |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1532-0626&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1532-0626&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1532-0626&client=summon |