43 research outputs found
ICC++ - A C++ Dialect for High Performance Parallel Computing
. ICC++ is a new concurrent C++ dialect which supports a single source code for sequential and parallel program versions, the construction of concurrent data abstractions, convenient expression of irregular and fine-grained concurrency, and high performance implementations. ICC++ programs are annotated with potential concurrency, facilitating both sharing source with sequential programs and automatic grain size tuning for efficient execution. Concurrency control is at the object level; each object ensures the consistency of its own state. This consistency can be extended over larger data abstractions. Finally, ICC++ integrates arrays into the object system and the concurrency model. In short, ICC++ addresses concurrency and its relation to abstractions -- whether they are implemented by single objects, several objects, or object collections. The design of the language, its rationale, and current status are all described. Keywords concurrent languages, parallelism, object-parallel prog..
Client-driven pointer analysis
Abstract. This paper presents a new client-driven pointer analysis algorithm thatautomatically adjusts its precision in response to the needs of client analyses. We evaluate our algorithm on 18 real C programs, using five significant error detec-tion problems as clients. We compare the accuracy and performance of our algorithm against several commonly-used fixed-precision algorithms. We find thatthe client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times morecostly. Our algorithm works because many client problems only need a small amount of extra precision applied to the right places in each input program