Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Coarray Support in OpenUH Compiler
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
John Harper  
View profile  
 More options Oct 14 2012, 5:45 pm
Newsgroups: comp.lang.fortran
Followup-To: comp.lang.fortran
From: John Harper <john.har...@vuw.ac.nz>
Date: Mon, 15 Oct 2012 10:45:47 +1300
Local: Sun, Oct 14 2012 5:45 pm
Subject: Re: Coarray Support in OpenUH Compiler

Deepak Eachempati wrote:
> Hello,

> I just wanted to notify those who are interested in a free compiler
> supporting Fortran coarrays that this is available in the OpenUH compiler.
> OpenUH is developed by the HPCTools group at the University of Houston. It
> is not a full Fortran 2008 implementation. It is based on the Open64
> compiler, which support Fortran 95 and *some* Fortran 2003 features. We
> have implemented the coarray features that were added to Fortran 2008.

> You can download a tarball of the prebuilt compiler or, if you wish,
> access the source code from here:

> http://www2.cs.uh.edu/~openuh/download/

> I am interested in getting feedback from the community on all aspects of
> the implementation -- performance issues, features that may not be
> implemented correctly, ease of installation on your particular system,
> etc.

> A few notes about the implementation:

> (1) OpenUH should support all the coarray features that are in Fortran
> 2008. This includes coarrays of basic types and derived types (including
> coarrays with pointer/allocatable components), the inquiry and
> transformational functions (this_image, image_index, num_images, ucobound,
> lcobound), all the sync statements (sync all, sync images, sync memory),
> locks, critical sections, error stop, and the atomic_define/atomic_ref
> subroutines.

> (2) The runtime can be built against GASNet (1.18.2) or ARMCI (5.0). These
> are communication libraries designed to support PGAS implementations. If
> you are using the prebuilt compiler, then you need to download the
> separate caf-runtime source package and the build/install it into
> whereever you extracted the compiler. Both GASNet and ARMCI support a
> variety of networks or may operate in an SMP environment, so they provide
> good portability.

> (3) The compiler name is uhcaf. The launcher program is cafrun. E.g.

> # compile the program and links in the necessary runtime libraries:
> $ uhcaf sample.f90 -o sample

> # run the executable with 4 images, more options available with --help
> $ cafrun -n 4 ./sample

> (4) Performance is something we're focused on improving. We leverage the
> bulk-communication capabilities available in GASNet/ARMCI for contiguous
> and strided accesses across images. Currently, for the program to benefit
> from this it must be written using the array assignment syntax. For
> example, this:

>    x(:) = y(:)[p]

> will get you better performance than this:

>    do i=lbound(x), ubound(x)
>       x(i) = y(i)[p]
>    end do

> Another performance limitation is the compiler doesn't yet generate
> non-blocking calls to help overlap your communication and computation, but
> this is something we're working on and hope to have ready by the end of
> this year.

> I hope the community finds this useful, and again I welcome any feedback
> or suggestions.

> Thanks,
> Deepak Eachempati
> HPCTools Group
> University of Houston

That sounds as if it does not support all of f2003. Is there a list of all
the f2003 and f2008 features that are supported? (Some of us still have to
avoid using f2003 features in 2012 because we test our programs with all the
compilers we have, and different compilers have implemented different things
that were not in f95.)

--
John Harper


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.