2013
DOI: 10.1007/s10766-013-0265-6
|View full text |Cite
|
Sign up to set email alerts
|

Introducing and Implementing the Allpairs Skeleton for Programming Multi-GPU Systems

Abstract: Algorithmic skeletons simplify software development: they abstract typical patterns of parallelism and provide their efficient implementations, allowing the application developer to focus on the structure of algorithms, rather than on implementation details. This becomes especially important for modern parallel systems with multiple Graphics Processing Units (GPUs) whose programming is complex and error-prone, because state-of-the-art programming approaches like CUDA and OpenCL lack high-level abstractions.We … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
4
1

Relationship

1
4

Authors

Journals

citations
Cited by 9 publications
(7 citation statements)
references
References 11 publications
0
7
0
Order By: Relevance
“…The Allpairs skeleton [24] in SkelCL can be considered as a variant of MapPairs that accepts matrix operands only; any reduction needs be implemented as part of the user function in Allpairs (i.e., by nesting), while we provide the combination MapPairsReduce (i.e., chaining). MapPairs and MapPairsReduce specifi-cally support multiple separate 1D vector operands in both dimensions, as requested for use with the MetalWalls [19] application by EXA2PRO project partner CNRS.…”
Section: Related Workmentioning
confidence: 99%
“…The Allpairs skeleton [24] in SkelCL can be considered as a variant of MapPairs that accepts matrix operands only; any reduction needs be implemented as part of the user function in Allpairs (i.e., by nesting), while we provide the combination MapPairsReduce (i.e., chaining). MapPairs and MapPairsReduce specifi-cally support multiple separate 1D vector operands in both dimensions, as requested for use with the MetalWalls [19] application by EXA2PRO project partner CNRS.…”
Section: Related Workmentioning
confidence: 99%
“…Implemented as a library, it does not require the usage of a precompiler like SkePU 2, with the downside that user functions are defined as string literals. SkelCL includes the AllPairs skeleton [21], an efficient implementation of certain complex access modes involving multiple matrices. In SkePU 2 matrices are accessed either element-wise or randomly.…”
Section: Related Workmentioning
confidence: 99%
“…Assume that the user selected global memory-based execution policy. Consider the thread (31,31) in a thread block (3,7). This thread will create and initialize a window iW with local_start_x=3 × 32 + 31 = 127 and local_start_y=7 × 32 + 31 = 255.…”
Section: Examplementioning
confidence: 99%
“…Other examples of algorithmic skeletons is SkelCL, which uses OpenCL underneath, and Marrow . While SkelCL aims to provide an abstraction over multiple GPUs, Marrow provides a mechanism to combine a set of skeletons to form a complex structure.…”
Section: Related Workmentioning
confidence: 99%