International Journal of Parallel Programming
Latest Publications


TOTAL DOCUMENTS

1006
(FIVE YEARS 91)

H-INDEX

37
(FIVE YEARS 4)

Published By Springer-Verlag

1573-7640, 0885-7458

Author(s):  
Rajesh Pandian Muniasamy ◽  
Rupesh Nasre ◽  
N. S. Narayanaswamy
Keyword(s):  

Author(s):  
Tongsheng Geng ◽  
Marcos Amaris ◽  
Stéphane Zuckerman ◽  
Alfredo Goldman ◽  
Guang R. Gao ◽  
...  

Author(s):  
Anshu S. Anand ◽  
Karthik Sayani ◽  
R. K. Shyamasundar

Author(s):  
Vladimir Janjic ◽  
Christopher Brown ◽  
Adam D. Barwell

AbstractParallel patterns are a high-level programming paradigm that enables non-experts in parallelism to develop structured parallel programs that are maintainable, adaptive, and portable whilst achieving good performance on a variety of parallel systems. However, there still exists a large base of legacy-parallel code developed using ad-hoc methods and incorporating low-level parallel/concurrency libraries such as pthreads without any parallel patterns in the fundamental design. This code would benefit from being restructured and rewritten into pattern-based code. However, the process of rewriting the code is laborious and error-prone, due to typical concurrency and pthreading code being closely intertwined throughout the business logic of the program. In this paper, we present a new software restoration methodology, to transform legacy-parallel programs implemented using pthreads into structured farm and pipeline patterned equivalents. We demonstrate our restoration technique on a number of benchmarks, allowing the introduction of patterned farm and pipeline parallelism in the resulting code; we record improvements in cyclomatic complexity and speedups on a number of representative benchmarks.


Author(s):  
Pascal Jungblut ◽  
Karl Fürlinger

AbstractThe Partitioned Global Address Space (PGAS) programming model brings intuitive shared memory semantics to distributed memory systems. Even with an abstract and unifying virtual global address space it is, however, challenging to use the full potential of different systems. Without explicit support by the implementation node-local operations have to be optimized manually for each architecture. A goal of this work is to offer a user-friendly programming model that provides portable performance across systems. In this paper we present an approach to integrate node-level programming abstractions with the PGAS programming model. We describe the hierarchical data distribution with local patterns and our implementation, MEPHISTO, in C++ using two existing projects. The evaluation of MEPHISTO shows that our approach achieves portable performance while requiring only minimal changes to port it from a CPU-based system to a GPU-based one using a CUDA or HIP back-end.


Author(s):  
August Ernstsson ◽  
Johan Ahlqvist ◽  
Stavroula Zouzoula ◽  
Christoph Kessler

AbstractWe present the third generation of the C++-based open-source skeleton programming framework SkePU. Its main new features include new skeletons, new data container types, support for returning multiple objects from skeleton instances and user functions, support for specifying alternative platform-specific user functions to exploit e.g. custom SIMD instructions, generalized scheduling variants for the multicore CPU backends, and a new cluster-backend targeting the custom MPI interface provided by the StarPU task-based runtime system. We have also revised the smart data containers’ memory consistency model for automatic data sharing between main and device memory. The new features are the result of a two-year co-design effort collecting feedback from HPC application partners in the EU H2020 project EXA2PRO, and target especially the HPC application domain and HPC platforms. We evaluate the performance effects of the new features on high-end multicore CPU and GPU systems and on HPC clusters.


Sign in / Sign up

Export Citation Format

Share Document