skip to main content
article

Algorithm 821: A Fortran interface to POSIX threads

Published: 01 September 2002 Publication History

Abstract

Pthreads is the library of POSIX standard functions for concurrent, multithreaded programming. The POSIX standard only defines an application programming interface (API) to the C programming language, not to Fortran. Many scientific and engineering applications are written in Fortran. Also, many of these applications exhibit functional, or task-level, concurrency. They would benefit from multithreading, especially on symmetric multiprocessors (SMP). We present here an interface to that part of the Pthreads library that is compatible with standard Fortran. The contribution consists of two primary source files: a Fortran module and a collection of C wrappers to Pthreads functions. The Fortran module defines the data structures, interface and initialization routines used to manage threads. The stability and portability of the Fortran API to Pthreads has been demonstrated using common mathematical computations on several SMP systems.

Supplementary Material

GZ File (821.gz)
Software for "A Fortran interface to POSIX threads"

References

[1]
Adams, J. C., Brainerd, W. S., Martin, J. T., Smith, B. T., and Wagener, J. L. 1997. Fortran 95 Handbook. The MIT Press, Cambridge, MA.
[2]
Breshears, C. P., Gabb, H. A., and Bova, S. W. 1998. Towards a Fortran 90 Interface to the POSIX Threads Library. In Proceedings of the 1998 DoD High Performance Computing Modernization Program Users Group Conference, Houston, TX (June).
[3]
Butenhof, D. R. 1997. Programming with POSIX Threads. Addison-Wesley, Reading, MA.
[4]
Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., and Sunderam, V. 1994. PVM: A Users' Guide and Tutorial for Network Parallel Computing. The MIT Press, Cambridge, MA.
[5]
Hanson, R. J., Breshears, C. P., and Gabb, H. A. 2000. A Fortran Interface to POSIX Threads. Tech. Rep. 00-18 (May), ERDC MSRC/PET.
[6]
IEEE Standards Press. 1996. 9945-1:1996 (ISO/IEC) {IEEE/ANSI Std 1003.1 1996 Edition} Information Technology--Portable Operating System Interface (POSIX)--Part 1: System Application: Program Interface (API) {C Language} (ANSI). IEEE Standards Press.
[7]
Lewis, B. and Berg, D. J. 1998. Multithreaded Programming with Pthreads. Sun Microsystems Press, Mountain View, CA.
[8]
Nichols, B., Buttlar, D., and Farrell, J. P. 1996. Pthreads Programming. O'Reilly and Associates, Sebastopol, CA.
[9]
Snir, M., Otto, S., Huss-Lederman, S., Walker, D., and Dongarra, J. 1998. MPI---The Complete Reference: Volume 1, the MPI Core. The MIT Press, Cambridge, MA.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software  Volume 28, Issue 3
September 2002
91 pages
ISSN:0098-3500
EISSN:1557-7295
DOI:10.1145/569147
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2002
Published in TOMS Volume 28, Issue 3

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. Fortran
  2. POSIX Threads
  3. Pthreads
  4. Scientific computing
  5. mathematical software
  6. symmetric multi-processor

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media