2007
DOI: 10.1007/978-3-540-71528-3_13
|View full text |Cite
|
Sign up to set email alerts
|

Automatic Discovery of Coarse-Grained Parallelism in Media Applications

Abstract: Abstract. With the increasing use of multi-core microprocessors and hardware accelerators in embedded media processing systems, there is an increasing need to discover coarse-grained parallelism in media applications written in C and C++. Common versions of these codes use a pointer-heavy, sequential programming model to implement algorithms with high levels of inherent parallelism. The lack of automated tools capable of discovering this parallelism has hampered the productivity of parallel programmers and app… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2007
2007
2013
2013

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 8 publications
(7 citation statements)
references
References 24 publications
0
7
0
Order By: Relevance
“…Extracting and mapping these coarse level tasks in different cores of the system can lead to remarkable improvements in performance and efficiency of the application execution. During recent and ongoing work, the IMPACT compiler is enhanced with a strong synergistic portfolio of different analysis techniques that can help expose the coarse-grain parallelism [21] 9D-2 today. In particular, a combination of different analysis techniques focusing on 1) pointers, 2) arrays and structures and 3) variable constraints and relationships, are effectively applied to discover different forms of coarse-grain parallelism.…”
Section: A Software Compilationmentioning
confidence: 99%
“…Extracting and mapping these coarse level tasks in different cores of the system can lead to remarkable improvements in performance and efficiency of the application execution. During recent and ongoing work, the IMPACT compiler is enhanced with a strong synergistic portfolio of different analysis techniques that can help expose the coarse-grain parallelism [21] 9D-2 today. In particular, a combination of different analysis techniques focusing on 1) pointers, 2) arrays and structures and 3) variable constraints and relationships, are effectively applied to discover different forms of coarse-grain parallelism.…”
Section: A Software Compilationmentioning
confidence: 99%
“…The programmer, who understands the high-level parallelism, can then assert that the two frames do not overlap (user assert), allowing the Concurrency Discovery module to determine that the loop is parallelizable. Previous work [17] has discussed the battery of analyses that can be used to expose the parallelism in an MPEG-4 encoder, including a context sensitive, interprocedural pointer analysis capable of distinguishing among heap objects allocated from different malloc call chains, the Omega test [16], and accurate analysis of non-affine index expressions for cross-iteration dependences. Mileage can vary significantly across different types of analysis techniques.…”
Section: Concurrency Discoverymentioning
confidence: 99%
“…In contrast to this popular opinion, several recent papers [2,18,25] have shown that recent advances in compiler analysis and hardware support for speculation have enabled compiler-based parallelization to be surprisingly effective in domains conventionally thought beyond its reach. For example, Bridges et al [2] report 454% average speedup over single threaded code on the SPECint2000 benchmarks, using a mixture of automatic parallelization with small code annotations.…”
Section: Introductionmentioning
confidence: 99%