scholarly journals Enabling OpenMP Task Parallelism on Multi-FPGAs

Author(s):  
Ramon Nepomuceno ◽  
Renan Sterle ◽  
Guilherme Valarini ◽  
Marcio Pereira ◽  
Herve Yviquel ◽  
...  
Keyword(s):  
2013 ◽  
Vol 21 (3-4) ◽  
pp. 123-136 ◽  
Author(s):  
Stephen L. Olivier ◽  
Bronis R. de Supinski ◽  
Martin Schulz ◽  
Jan F. Prins

Task parallelism raises the level of abstraction in shared memory parallel programming to simplify the development of complex applications. However, task parallel applications can exhibit poor performance due to thread idleness, scheduling overheads, andwork time inflation– additional time spent by threads in a multithreaded computation beyond the time required to perform the same work in a sequential computation. We identify the contributions of each factor to lost efficiency in various task parallel OpenMP applications and diagnose the causes of work time inflation in those applications. Increased data access latency can cause significant work time inflation in NUMA systems. Our locality framework for task parallel OpenMP programs mitigates this cause of work time inflation. Our extensions to the Qthreads library demonstrate that locality-aware scheduling can improve performance up to 3X compared to the Intel OpenMP task scheduler.


1997 ◽  
Vol 6 (4) ◽  
pp. 345-362 ◽  
Author(s):  
Barbara Chapman ◽  
Matthew Haines ◽  
Piyush Mehrotra ◽  
Hans Zima ◽  
John Van Rosendale

Data parallel languages, such as High Performance Fortran, can be successfully applied to a wide range of numerical applications.However, many advanced scientific and engineering applications are multidisciplinary and heterogeneous in nature, and thus do not fit well into the data parallel paradigm. In this paper we present Opus, a language designed to fill this gap. The central concept of Opus is a mechanism called ShareD Abstractions (SDA). An SDA can be used as a computation server, i.e., a locus of computational activity, or as a data repository for sharing data between asynchronous tasks. SDAs can be internally data parallel, providing support for the integration of data and task parallelism as well as nested task parallelism. They can thus be used to express multidisciplinary applications in a natural and efficient way. In this paper we describe the features of the language through a series of examples and give an overview of the runtime support required to implement these concepts in parallel and distributed environments.


Author(s):  
José I. Aliaga ◽  
Manuel F. Dolz ◽  
Alberto F. Martín ◽  
Rafael Mayo ◽  
Enrique S. Quintana-Ortí

SoftwareX ◽  
2020 ◽  
Vol 12 ◽  
pp. 100517
Author(s):  
P.E. Hadjidoukas ◽  
A. Bartezzaghi ◽  
F. Scheidegger ◽  
R. Istrate ◽  
C. Bekas ◽  
...  
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document