Matches in SemOpenAlex for { <https://semopenalex.org/work/W191874463> ?p ?o ?g. }
Showing items 1 to 84 of
84
with 100 items per page.
- W191874463 abstract "The domain of high-performance computing is still dominated by manual optimizations of programs written in C or Fortran. The reason why high-level languages failed to gain ground is the execution overhead entailed by the potential abstractions introduced. This thesis proposes MetaOCaml for enriching the domain of high-performance computing by multi-staged programming. MetaOCaml extends the OCaml language by three new constructs in order to provide run-time code generation. By tagging OCaml code fragments with a pair of special brackets, they become abstract data objects of the program enclosing them. This program can create and combine code objects at run time as well as execute them in its environment by the application of a single operator. This allows the easy construction of speed-optimized code. Furthermore, like OCaml, MetaOCaml is a language with static types. Though code objects are generated and executed at run time, its type system guarantees the type correctness of run-time generated code at the time the program is compiled. This thesis presents important speed-related issues, like speed-aware coding style, offshoring or interfacing to C. Three case studies demonstrate the applicability of these in realistic contexts and discuss the impact in terms of execution speedup. Focusing on numerical applications, the first case study examines iterative and recursive implementations of matrix multiplications, comparing low-level C optimizations with high-level implementations using MetaOCaml. Hybrid implementations show how to combine the optimization opportunities of both approaches. A second case study demonstrates howMetaOCaml can be used for the implementation of a domain-specific language. The presented compiler combines a simplifier working on the abstract syntax and a code generation function using MetaOCaml syntax. As the code generator can be constructed by adding MetaOCaml constructs to the code of an interpreter, the effort of this implementation is marginal compared to the speedups attained. Finally, the case study of a parallel Karatsuba polynomial multiplication presents an embedded specification language for a static parallel computation structure. The implementation of this language gives an example of how specialized code can be generatedwithMetaOCaml by using information about the parallel run-time environment. Also, it demonstrates a clean approach to separate the concerns of the application implementer and the parallel engineer. Benchmarks for all presented implementations confirm that the execution time can be reduced significantly by high-level optimizations. SomeMetaOCaml programs even run as fast as respective C implementations. Furthermore, in situations where optimizations in pure MetaOCaml are limited, computation hotspots can be explicitly or implicitly exported to C. This combination of high-level and low-level techniques allows optimizations which cannot be obtained in pure C without enormous effort." @default.
- W191874463 created "2016-06-24" @default.
- W191874463 creator A5019688798 @default.
- W191874463 date "2005-01-01" @default.
- W191874463 modified "2023-09-27" @default.
- W191874463 title "Tuning MetaOCaml Programs for High Performance" @default.
- W191874463 cites W114923691 @default.
- W191874463 cites W1488857024 @default.
- W191874463 cites W1509843845 @default.
- W191874463 cites W1556604985 @default.
- W191874463 cites W1580684925 @default.
- W191874463 cites W1649758727 @default.
- W191874463 cites W1650987719 @default.
- W191874463 cites W1979566015 @default.
- W191874463 cites W2035476608 @default.
- W191874463 cites W2039567259 @default.
- W191874463 cites W2039744354 @default.
- W191874463 cites W2061291998 @default.
- W191874463 cites W2077853727 @default.
- W191874463 cites W2081246285 @default.
- W191874463 cites W2081612620 @default.
- W191874463 cites W2087929260 @default.
- W191874463 cites W2107776021 @default.
- W191874463 cites W2126071114 @default.
- W191874463 cites W2150871235 @default.
- W191874463 cites W2171877898 @default.
- W191874463 cites W2176580510 @default.
- W191874463 cites W2752885492 @default.
- W191874463 cites W2981264952 @default.
- W191874463 cites W3120211617 @default.
- W191874463 cites W4871647 @default.
- W191874463 hasPublicationYear "2005" @default.
- W191874463 type Work @default.
- W191874463 sameAs 191874463 @default.
- W191874463 citedByCount "0" @default.
- W191874463 crossrefType "journal-article" @default.
- W191874463 hasAuthorship W191874463A5019688798 @default.
- W191874463 hasConcept C111919701 @default.
- W191874463 hasConcept C133162039 @default.
- W191874463 hasConcept C139571649 @default.
- W191874463 hasConcept C169590947 @default.
- W191874463 hasConcept C173608175 @default.
- W191874463 hasConcept C177264268 @default.
- W191874463 hasConcept C199360897 @default.
- W191874463 hasConcept C26517878 @default.
- W191874463 hasConcept C26713055 @default.
- W191874463 hasConcept C2776303644 @default.
- W191874463 hasConcept C2776760102 @default.
- W191874463 hasConcept C2779960059 @default.
- W191874463 hasConcept C41008148 @default.
- W191874463 hasConcept C55439883 @default.
- W191874463 hasConcept C68339613 @default.
- W191874463 hasConcept C76782552 @default.
- W191874463 hasConcept C8767382 @default.
- W191874463 hasConcept C9390403 @default.
- W191874463 hasConcept C96147967 @default.
- W191874463 hasConceptScore W191874463C111919701 @default.
- W191874463 hasConceptScore W191874463C133162039 @default.
- W191874463 hasConceptScore W191874463C139571649 @default.
- W191874463 hasConceptScore W191874463C169590947 @default.
- W191874463 hasConceptScore W191874463C173608175 @default.
- W191874463 hasConceptScore W191874463C177264268 @default.
- W191874463 hasConceptScore W191874463C199360897 @default.
- W191874463 hasConceptScore W191874463C26517878 @default.
- W191874463 hasConceptScore W191874463C26713055 @default.
- W191874463 hasConceptScore W191874463C2776303644 @default.
- W191874463 hasConceptScore W191874463C2776760102 @default.
- W191874463 hasConceptScore W191874463C2779960059 @default.
- W191874463 hasConceptScore W191874463C41008148 @default.
- W191874463 hasConceptScore W191874463C55439883 @default.
- W191874463 hasConceptScore W191874463C68339613 @default.
- W191874463 hasConceptScore W191874463C76782552 @default.
- W191874463 hasConceptScore W191874463C8767382 @default.
- W191874463 hasConceptScore W191874463C9390403 @default.
- W191874463 hasConceptScore W191874463C96147967 @default.
- W191874463 hasLocation W1918744631 @default.
- W191874463 hasOpenAccess W191874463 @default.
- W191874463 hasPrimaryLocation W1918744631 @default.
- W191874463 hasRelatedWork W2056640031 @default.
- W191874463 hasRelatedWork W2764040875 @default.
- W191874463 isParatext "false" @default.
- W191874463 isRetracted "false" @default.
- W191874463 magId "191874463" @default.
- W191874463 workType "article" @default.