2012 International Conference for High Performance Computing, Networking, Storage and Analysis 2012
DOI: 10.1109/sc.2012.22
|View full text |Cite
|
Sign up to set email alerts
|

Automatic generation of software pipelines for heterogeneous parallel systems

Abstract: Pipelining is a well-known approach to increasing parallelism and performance. We address the problem of software pipelining for heterogeneous parallel platforms that consist of different multi-core and many-core processing units. In this context, pipelining involves two key steps-partitioning an application into stages and mapping and scheduling the stages onto the processing units of the heterogeneous platform. We show that the inter-dependency between these steps is a critical challenge that must be address… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
5
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 12 publications
(6 citation statements)
references
References 56 publications
(50 reference statements)
0
5
0
Order By: Relevance
“…Task graphs have been leveraged in numerous contexts including iteration scheduling for multicore processors [21,19], thread assignment for heterogenous cores [20,38], process scheduling for clusters [27,15], task scheduling for heterogeneous processors [40,15,26,44], etc. In the current form, directive-based languages allow scheduling and mapping of task graphs at runtime (as in StarPU and OmpSs), but do not facilitate application of task graph optimizations.…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…Task graphs have been leveraged in numerous contexts including iteration scheduling for multicore processors [21,19], thread assignment for heterogenous cores [20,38], process scheduling for clusters [27,15], task scheduling for heterogeneous processors [40,15,26,44], etc. In the current form, directive-based languages allow scheduling and mapping of task graphs at runtime (as in StarPU and OmpSs), but do not facilitate application of task graph optimizations.…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…Directive-based Programming Models. These include technologies such as OpenMP, OpenACC [9] C ++ AMP (Microsoft), Spearmint [10], OP2 [11], in works [12][13] and DVM / DVMH [14][15][16].…”
Section: Existing Solutionsmentioning
confidence: 99%
“…Tasks communicate with each other by streams of data along the edges of the graph through queues using the producer-consumer scheme. TaskFlow has the ability to build heterogeneous graphs (using both CPU and GPU) and then pipelined execution similar to [13]. Such a computation model is promising since it can not only be efficiently performed on CPU and GPU, but also can be used for prototyping hardware implementations on FPGA or VLSI.…”
Section: Existing Solutionsmentioning
confidence: 99%
“…Another case is StarPU [3], a library that offers runtime heterogeneity support and provides priority schedulers for task-to-processor allocation. AHP [22] is another framework that generates software pipelines for heterogeneous systems and schedules tasks to their earliest executor, based on profiling information gathered prior to runtime.…”
Section: Schedulers For Compute Acceleratorsmentioning
confidence: 99%