Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Cfir Aguston

dblp:141/0381 · DBLP profile ↗
← Back
2ranked-venue papers
2as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 79% Program analysis · 21%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › parallelization
automatic parallelization
0.422015
Parallelization Hints via Code Skeletonization · IEEE Trans. Parallel Distributed Syst. 2015
Parallelization hints via code skeletonization · PPoPP 2014
Compilers and program optimization › program transformation
code skeletonization
0.422015
Parallelization Hints via Code Skeletonization · IEEE Trans. Parallel Distributed Syst. 2015
Parallelization hints via code skeletonization · PPoPP 2014
Program analysis › static analysis
pointer analysis
0.212015
Parallelization Hints via Code Skeletonization · IEEE Trans. Parallel Distributed Syst. 2015
Parallel and multicore computing › parallelizing compiler
vectorization and parallelization
0.112015
Parallelization Hints via Code Skeletonization · IEEE Trans. Parallel Distributed Syst. 2015

Methods — techniques the papers use, named apart from their topics

source-level auto-parallelization · 0.4skeletonization · 0.4
YearPublicationVenuePosition
2015 Parallelization Hints via Code Skeletonization
abstract
Tools that provide optimization hints for program developers are facing severe obstacles and often unable to provide meaningful guidance on how to parallelize real-life applications. The main reason is due to the high code complexity and its large size when considering commercially valuable code. Such code is often rich with pointers, heavily nested conditional statements, nested while-based loops, function calls, etc. These constructs prevent existing compiler analysis from extracting the full parallelization potential. We propose a new paradigm to overcome this issue by automatically transforming the code' into a much simpler skeleton-like form that is more conductive for auto-parallelization. We then apply existing tools of source-level automatic parallelization on the skeletonized code in order to expose possible parallelization patterns. The skeleton code, along with the parallelized version, are then provided to the programmer in the form of an Integrated Development Environment (IDE) recommendation. The proposed skeletonization algorithm replaces pointers by integer indexes and C-struct references by references to multi-dimensional arrays. For example, the loop while(p ≠ NULL) {p → val + +; p = p → next;} will be skeletonized to: for(Ip = 0; Ip <; N; Ip + +){Aval[Ip] + +;} where Aval[] holds the embedding of the original list. Consequently, the main goal of the skeletonization process is to embed pointer-based data structures into arrays. Though the skeletonized code is not semantically equivalent to the original code, it suggests a possible parallelization pattern for the selected code segment and can be used as an effective parallelization hint to the programmer. We applied the method on the SPEC CPU benchmarks and the skeletonization process detected 27 percent additional loops that can be parallelized/vectorized on top of the compiler auto-parallelizer/vectorizer. A performance gain of up to 45 percent was measured for benchmarks that were manually parallelized based on the generated skeleton code.
Cfir Aguston, Yosi Ben-Asher, Gadi Haber
IEEE Trans. Parallel Distributed Syst.1
2014 Parallelization hints via code skeletonization
abstract
Tools that provide optimization hints for program developers are facing severe obstacles and often unable to provide meaningful guidance on how to parallelize real--life applications. The main reason is due to the high code complexity and its large size when considering commercially valuable code. Such code is often rich with pointers, heavily nested conditional statements, nested while--based loops, function calls, etc. These constructs prevent existing compiler analysis from extracting the full parallelization potential. We propose a new paradigm to overcome this issue by automatically transforming the code into a much simpler skeleton-like form that is more conductive for auto-parallelization. We then apply existing tools of source--level automatic parallelization on the skeletonized code in order to expose possible parallelization patterns. The skeleton code, along with the parallelized version, are then provided to the programmer in the form of an IDE (Integrated Development Environment) recommendation.
Cfir Aguston, Yosi Ben-Asher, Gadi Haber
PPoPP1