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...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Concurrency and computation Ročník 24; číslo 5; s. 499 - 516
Hlavní autoři: Grelck, Clemens, van Deurzen, Tim, Herhut, Stephan, Scholz, Sven-Bodo
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