Matches in SemOpenAlex for { <https://semopenalex.org/work/W98678269> ?p ?o ?g. }
- W98678269 abstract "Computers today are becoming more and more parallel. General purpose processors (CPUs) have multiple processing cores and Single Instruction Multiple Data (SIMD) units for data-parallelism. Graphics processors (GPUs) bring massive parallelism at the cost of being harder to program than CPUs. This thesis applies embedded language methodology to data-parallel programming. Two embedded languages are presented, Obsidian for general purpose GPU programming and EmbArBB for data-parallel programming across platforms. CPUs and GPUs get more parallel resources with each new generation. The question of how to efficiently program these processors arises. We are after efficiency both in programmer productivity and in application performance. Using embedded languages allows us to experimentwith what abstractions to present to the programmer at relatively little effort.Obsidian is an embedded language for general purpose programming of GPUs. We try to strike a balance between high level, productivity increasing abstractions and low-level control needed for performance. The Obsidian programming model mirrors the GPU architecture and the programmer is constrained into writing GPU-friendly code. Hierarchy level polymorphic library functions are supplied to make these constraints feel less obtrusive. Obsidian programs are compiled into CUDA C code. This compilation is based on a simple and elegant monad reification technique. In cases where the programmer is not interested in low-level details or wants the program to run over a range of hardware, a higher level language can be used.EmbArBB is a Haskell embedding or the Intel ArBB system. EmbArBB relies on the ArBB system to generate code (via a Just-In-Time compiler) to a range of hardware. EmbArBB embeds a preexisting library for data-parallelism into Haskell and we obtain very good performance at little implementation effort. This performance comes from the expertise and effort put into the ArBB system and that we get for free. Embedding ArBB is a way to provide these benefits to the Haskell programmer and a way to increase usefulnessof an existing system by opening it up to a wider audience. Obsidian is very different; it is not based on a set of high-level parallel primitives. The Obsidian programmer can implement these primitives in different ways and then select the best one. We have obtained very good performance in case studies involving reductions. Obsidian programs are also more terse and composable, compared to CUDA." @default.
- W98678269 created "2016-06-24" @default.
- W98678269 creator A5042028009 @default.
- W98678269 date "2013-01-01" @default.
- W98678269 modified "2023-09-23" @default.
- W98678269 title "Embedded Languages for Data-Parallel Programming" @default.
- W98678269 cites W100509257 @default.
- W98678269 cites W1485162873 @default.
- W98678269 cites W1486842216 @default.
- W98678269 cites W1502641600 @default.
- W98678269 cites W1514995960 @default.
- W98678269 cites W1523264534 @default.
- W98678269 cites W1535801212 @default.
- W98678269 cites W1535989349 @default.
- W98678269 cites W1548981521 @default.
- W98678269 cites W1595783387 @default.
- W98678269 cites W1596988140 @default.
- W98678269 cites W1597508330 @default.
- W98678269 cites W1598796492 @default.
- W98678269 cites W1650987719 @default.
- W98678269 cites W1780333029 @default.
- W98678269 cites W1875609239 @default.
- W98678269 cites W1979811002 @default.
- W98678269 cites W1995596660 @default.
- W98678269 cites W1996060755 @default.
- W98678269 cites W1997173622 @default.
- W98678269 cites W2000063321 @default.
- W98678269 cites W2003131643 @default.
- W98678269 cites W2005692853 @default.
- W98678269 cites W2014257084 @default.
- W98678269 cites W2018014973 @default.
- W98678269 cites W2032309817 @default.
- W98678269 cites W2040173678 @default.
- W98678269 cites W2048269379 @default.
- W98678269 cites W2049600101 @default.
- W98678269 cites W2055947235 @default.
- W98678269 cites W2056886075 @default.
- W98678269 cites W2058692170 @default.
- W98678269 cites W2064138295 @default.
- W98678269 cites W2083310717 @default.
- W98678269 cites W2085118703 @default.
- W98678269 cites W2088217310 @default.
- W98678269 cites W2095377417 @default.
- W98678269 cites W2096006817 @default.
- W98678269 cites W2100232637 @default.
- W98678269 cites W2100415730 @default.
- W98678269 cites W2100883156 @default.
- W98678269 cites W2104532741 @default.
- W98678269 cites W2104958979 @default.
- W98678269 cites W2105655245 @default.
- W98678269 cites W2109426995 @default.
- W98678269 cites W2113841249 @default.
- W98678269 cites W2118558147 @default.
- W98678269 cites W2130179171 @default.
- W98678269 cites W2131647018 @default.
- W98678269 cites W2134158653 @default.
- W98678269 cites W2138163628 @default.
- W98678269 cites W2141389982 @default.
- W98678269 cites W2147570319 @default.
- W98678269 cites W2148599839 @default.
- W98678269 cites W2150476673 @default.
- W98678269 cites W2161061943 @default.
- W98678269 cites W2163229756 @default.
- W98678269 cites W2163552400 @default.
- W98678269 cites W2164777241 @default.
- W98678269 cites W2165100134 @default.
- W98678269 cites W2165633563 @default.
- W98678269 cites W2166813996 @default.
- W98678269 cites W2167546526 @default.
- W98678269 cites W2169150396 @default.
- W98678269 cites W2169706947 @default.
- W98678269 cites W2170901118 @default.
- W98678269 cites W2174554963 @default.
- W98678269 cites W2244101089 @default.
- W98678269 cites W2258117687 @default.
- W98678269 cites W2294911930 @default.
- W98678269 cites W2407641568 @default.
- W98678269 cites W2436525433 @default.
- W98678269 cites W2558318611 @default.
- W98678269 cites W2739266613 @default.
- W98678269 cites W3103200974 @default.
- W98678269 cites W641086946 @default.
- W98678269 cites W67010487 @default.
- W98678269 cites W2136673842 @default.
- W98678269 hasPublicationYear "2013" @default.
- W98678269 type Work @default.
- W98678269 sameAs 98678269 @default.
- W98678269 citedByCount "0" @default.
- W98678269 crossrefType "dissertation" @default.
- W98678269 hasAuthorship W98678269A5042028009 @default.
- W98678269 hasConcept C137364921 @default.
- W98678269 hasConcept C169590947 @default.
- W98678269 hasConcept C173608175 @default.
- W98678269 hasConcept C199360897 @default.
- W98678269 hasConcept C2778119891 @default.
- W98678269 hasConcept C2778514511 @default.
- W98678269 hasConcept C2780624054 @default.
- W98678269 hasConcept C2781172179 @default.
- W98678269 hasConcept C34165917 @default.
- W98678269 hasConcept C41008148 @default.