[Beowulf] Threaded code
Ed Hill
eh3 at MIT.EDU
Wed Aug 18 07:45:36 PDT 2004
On Wed, 2004-08-18 at 08:54, Robert G. Brown wrote:
> On Tue, 17 Aug 2004, Art Edwards wrote:
> > Now we have to learn about building
> > a threaded fortran application. Are there any compiler swithes we need
> > for g77 to build threaded code?
> However, in C using threads is simply a matter of linking in the correct
> thread library:
>
> LIBS = -lpthread -lmenu -lpanel -lcurses -lxml2 -lm
>
> (from a threaded app I wrote).
Hi Art,
The g77 compiler does not, to the best of my knowledge [1,2], support
any of the parallelization directives similar to those used in OpenMP-
compliant or other (eg. Sun, SGI, Cray) compilers.
However, with gcc and g77 you can call essentially any C routine from
Fortran (and vice-versa) using the "cfortran.h" header available at:
http://www-zeus.desy.de/~burow/cfortran/
This is not an easy interface to use but it certainly does work (and
works in a surprisingly portable fashion). In fact, many Fortran codes
use the "cfortran.h" interface to access various C libraries or to
export Fortran-user-friendly interfaces to existing C libs.
So with the cfortran.h interface you can write mixed-language C/Fortran
codes that make use of the pthreads library (POSIX threads included in
glibc) to run various routines in parallel.
Ed
[1] http://zampano.zam.kfa-juelich.de/software/compiler.htm
[2] http://world.std.com/~burley/bof.html
--
Edward H. Hill III, PhD
office: MIT Dept. of EAPS; Rm 54-1424; 77 Massachusetts Ave.
Cambridge, MA 02139-4307
emails: eh3 at mit.edu ed at eh3.com
URLs: http://web.mit.edu/eh3/ http://eh3.com/
phone: 617-253-0098
fax: 617-253-4464
More information about the Beowulf
mailing list