OpenMP in Multicore Architectures (tech. report)
University of Minnesota
University of Minnesota, Tech. Rep
@article{packirisamyopenmp,
title={Openmp in multicore architectures},
author={Packirisamy, V. and Barathvajasankar, H.},
journal={University of Minnesota, Tech. Rep},
publisher={Citeseer}
}
OpenMP is an API (application program interface) used to explicitly direct multi-threaded, shared memory parallelism. With the advent of Multi-core processors, there has been renewed interest in parallelizing programs. Multi-core offers support to execute threads in parallel but at the same time the cost of communication is very less. This opens up new domains to extract parallelism. The aim of our project is to study how OpenMP could be used in Multi-core processors. We investigated this in two parts – extracting fine grained parallelism and extracting speculative parallelism. The report mainly concentrates on the second part – speculative parallelism, though we offer some insights into fine grained parallelism. Our results show the specifying hints through OpenMP directives is important to expose parallelism. Also we propose a hardware technique that could improve performance of thread level speculation.
December 14, 2010 by hgpu