Access the full text.
Sign up today, get DeepDyve free for 14 days.
I. Sbalzarini (2010)
Abstractions and Middleware for Petascale Computing and BeyondInt. J. Distributed Syst. Technol., 1
N. Shavit, D. Touitou (1995)
Software transactional memoryDistributed Computing, 10
(2008)
A dependencyaware task - based programming environment for multi - core architectures
(2001)
Multigrid
A. Marowka (2007)
Parallel computing on any desktopCommun. ACM, 50
L. Kurtz (1984)
An introduction to database management systems, 18
K. Asanović, R. Bodík, J. Demmel, T. Keaveny, K. Keutzer, J. Kubiatowicz, N. Morgan, D. Patterson, Koushik Sen, J. Wawrzynek, David Wessel, K. Yelick (2009)
A view of the parallel computing landscapeCommun. ACM, 52
Edition. The open group technical standard base specifications, Issue 6. Includes IEEE Std 1003.1-2001
Josep Pérez, Rosa Badia, Jesús Labarta (2008)
A dependency-aware task-based programming environment for multi-core architectures2008 IEEE International Conference on Cluster Computing
David Geer (2005)
Chip makers turn to multicore processorsComputer, 38
R. Speck, L. Arnold, P. Gibbon (2011)
Towards a petascale tree code: Scaling and efficiency of the PEPC libraryJ. Comput. Sci., 2
Fengguang Song, A. YarKhan, J. Dongarra (2009)
Dynamic task scheduling for linear algebra algorithms on distributed-memory multicore systemsProceedings of the Conference on High Performance Computing Networking, Storage and Analysis
(2004)
IEEE standard for information technology -Portable operating system interface (posix) base definitions. IEEE Std 1003.1, 2004 Edition. The open group technical standard base specifications, Issue 6
(2004)
IEEE standard for information technology - Portable operating system interface (posix) base definitions
Kamesh Madduri, E. Im, K. Ibrahim, Samuel Williams, S. Ethier, L. Oliker (2011)
Gyrokinetic particle-in-cell optimization on emerging multi- and manycore platformsParallel Comput., 37
O. Awile, Ö. Demirel, I. Sbalzarini (2010)
Toward an Object-Oriented Core of the PPM Library, 1281
M. Winkel, R. Speck, H. Hübner, L. Arnold, R. Krause, P. Gibbon (2012)
A massively parallel, multi-disciplinary Barnes-Hut tree code for extreme-scale N-body simulationsComput. Phys. Commun., 183
J. Monaghan (1985)
Extrapolating B splines for interpolationJournal of Computational Physics, 60
M. Bernaschi, M. Bisson, Toshio Endo, S. Matsuoka, M. Fatica, S. Melchionna (2011)
Petaflop biofluidics simulations on a two million-core system2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
K. Tsoi, W. Luk (2010)
Axel: a heterogeneous cluster with FPGAs and GPUs
(2012)
A massively parallel, multidisciplinary barnes–hut tree code for extreme-scale n-body simulations
Clay Breshears, W. Bova (1998)
Towards a Fortran 90 Interface to the POSIX Threads Library
J. Walther, I. Sbalzarini (2009)
Large‐scale parallel discrete element simulations of granular flowEngineering Computations, 26
(2011)
Gyrokinetic particleincell optimization on emerging multiand manycore platforms
Kamesh Madduri, Samuel Williams, S. Ethier, L. Oliker, J. Shalf, E. Strohmaier, K. Yelick (2009)
Memory-efficient optimization of Gyrokinetic particle-to-grid interpolation for multicore processorsProceedings of the Conference on High Performance Computing Networking, Storage and Analysis
A. Brodtkorb, Christopher Dyken, T. Hagen, J. Hjelmervik, O. Storaasli (2010)
State-of-the-art in heterogeneous computingSci. Program., 18
(1977)
Multi - level adaptive solutions to boundaryvalue problems
E. Dijkstra (1965)
Solution of a problem in concurrent programming control
(2010)
State - oftheart in heterogeneous computing
R. Rabenseifner, G. Hager, Gabriele Jost (2009)
Hybrid MPI/OpenMP Parallel Programming on Clusters of Multi-Core SMP Nodes2009 17th Euromicro International Conference on Parallel, Distributed and Network-based Processing
R. Hanson, Clay Breshears, H. Gabb (2002)
Algorithm 821: A Fortran interface to POSIX threadsACM Trans. Math. Softw., 28
(2012)
Received October
(2013)
Fortran 2008 module pthread
(1991)
Sunos multithread architecture
D. Stein, D. Shah (1992)
Implementing Lightweight Threads
A. Dubey, C. Daley, K. Weide (2010)
Challenges of Computing with FLASH on Largest HPC Platforms, 1281
Maurice Herlihy, J. Moss (1993)
Transactional Memory: Architectural Support For Lock-free Data StructuresProceedings of the 20th Annual International Symposium on Computer Architecture
A. Brandt (1977)
Multi-level adaptive solutions to boundary-value problems math comptr
I. Sbalzarini, J. Walther, Michael Bergdorf, S. Hieber, E. Kotsalis, P. Koumoutsakos (2006)
PPM - A highly efficient parallel particle-mesh library for the simulation of continuum systemsJ. Comput. Phys., 215
(2014)
ACM Transactions on Mathematical Software
T. Shimokawabe, T. Aoki, T. Takaki, Toshio Endo, A. Yamanaka, N. Maruyama, Akira Nukada, S. Matsuoka (2011)
Peta-scale phase-field simulation for dendritic solidification on the TSUBAME 2.0 supercomputer2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
P. Chatelain, A. Curioni, Michael Bergdorf, D. Rossinelli, W. Andreoni, P. Koumoutsakos (2008)
Billion vortex particle direct numerical simulations of aircraft wakesComputer Methods in Applied Mechanics and Engineering, 197
A Pthreads Wrapper for Fortran 2003 OMAR AWILE and IVO F. SBALZARINI, ETH Zurich With the advent of multicore processors, numerical and mathematical software relies on parallelism in order to benefit from hardware performance increases. We present the design and use of a Fortran 2003 wrapper for POSIX threads, called forthreads. Forthreads is complete in the sense that is provides native Fortran 2003 interfaces to all pthreads routines where possible. We demonstrate the use and efficiency of forthreads for SIMD parallelism and task parallelism. We present forthreads/MPI implementations that enable hybrid shared-/distributed-memory parallelism in Fortran 2003. Our benchmarks show that forthreads offers performance comparable to that of OpenMP, but better thread control and more freedom. We demonstrate the latter by presenting a multithreaded Fortran 2003 library for POSIX Internet sockets, enabling interactive numerical simulations with runtime control. Categories and Subject Descriptors: D.1.3 [Concurrent Programming]: Parallel Programming; G.4 [Mathematical Software]: Parallel and Vector Implementations General Terms: Algorithms, Languages, Performance, Standardization Additional Key Words and Phrases: POSIX threads, pthreads, Fortran, Fortran 2003, scientific computing, shared-memory programming, mathematical software, parallel particle-mesh, PPM library ACM Reference Format: Awile, O. and Sbalzarini, I. F. 2014. A pthreads wrapper for Fortran 2003. ACM Trans.
ACM Transactions on Mathematical Software (TOMS) – Association for Computing Machinery
Published: Apr 1, 2014
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.