2014
DOI: 10.1145/2558889
|View full text |Cite
|
Sign up to set email alerts
|

A Pthreads Wrapper for Fortran 2003

Abstract: 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 tha… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2017
2017
2017
2017

Publication Types

Select...
1

Relationship

0
1

Authors

Journals

citations
Cited by 1 publication
(1 citation statement)
references
References 31 publications
0
1
0
Order By: Relevance
“…Designing the architecture around the event‐based coordination pattern means that we can ensure that tricky aspects such as this will not result in deadlock. The Forthreads module is used to wrap the pthreads C interface library, which effectively gives us full pthread functionality in Fortran. We found that it was important to decorate variables shared between different threads with the volatile attribute, which denotes that these might be modified by means not obvious from the code and hence not to rely on values held in cache.…”
Section: Monc In Situ Data Analyticsmentioning
confidence: 99%
“…Designing the architecture around the event‐based coordination pattern means that we can ensure that tricky aspects such as this will not result in deadlock. The Forthreads module is used to wrap the pthreads C interface library, which effectively gives us full pthread functionality in Fortran. We found that it was important to decorate variables shared between different threads with the volatile attribute, which denotes that these might be modified by means not obvious from the code and hence not to rely on values held in cache.…”
Section: Monc In Situ Data Analyticsmentioning
confidence: 99%