- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there an actual advantage to Co-arrays versus OpenMP?
My initial impression is that it does the same as OpenMP, but using a Fortran syntax as opposed to OpenMP directives. In other words, it sounds like a lot of work for compiler developers, and for users to learn a new parallel syntax, just to avoid the "hack" of using directives.
I always thought OpenMP was a good idea because the same paralle system is applicable to multiple programming languages. With native parallel, there will probably be more obstacles to mixed-language programming.
Thanks,
Joe Krahn
My initial impression is that it does the same as OpenMP, but using a Fortran syntax as opposed to OpenMP directives. In other words, it sounds like a lot of work for compiler developers, and for users to learn a new parallel syntax, just to avoid the "hack" of using directives.
I always thought OpenMP was a good idea because the same paralle system is applicable to multiple programming languages. With native parallel, there will probably be more obstacles to mixed-language programming.
Thanks,
Joe Krahn
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Coarrays and OpenMP have very different programming models. One big difference is that coarrays are scalable, at least by design, to distributed systems, whereas OpenMP is primarily a shared-memory model. (Intel did experiment with a "Cluster OpenMP" feature but that was killed.)
OpenMP is mainly concerned with loops - coarrays are much more broadly integrated into the Fortran language and don't require extensive directives to specify what is private and public, etc.
I think time will tell if coarrays are successful, but today's HPC needs have far outstripped what OpenMP can provide. You might better compare to MPI.
OpenMP is mainly concerned with loops - coarrays are much more broadly integrated into the Fortran language and don't require extensive directives to specify what is private and public, etc.
I think time will tell if coarrays are successful, but today's HPC needs have far outstripped what OpenMP can provide. You might better compare to MPI.
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Coarrays and OpenMP have very different programming models. One big difference is that coarrays are scalable, at least by design, to distributed systems, whereas OpenMP is primarily a shared-memory model. (Intel did experiment with a "Cluster OpenMP" feature but that was killed.)
OpenMP is mainly concerned with loops - coarrays are much more broadly integrated into the Fortran language and don't require extensive directives to specify what is private and public, etc.
I think time will tell if coarrays are successful, but today's HPC needs have far outstripped what OpenMP can provide. You might better compare to MPI.
OpenMP is mainly concerned with loops - coarrays are much more broadly integrated into the Fortran language and don't require extensive directives to specify what is private and public, etc.
I think time will tell if coarrays are successful, but today's HPC needs have far outstripped what OpenMP can provide. You might better compare to MPI.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I didn't realize that Cluster OpenMP was dead. Obviously, there are reasons why the OpenMP model does not extend well to clusters. So, one significant benefit will be that it will work well for both shared-memory and distributed systems.
Fortunately, Cray already has co-arrays for a while, so the specs should be in good shape. (Unlike many new Fortran features that defined by a purely theoretical design.)
Fortunately, Cray already has co-arrays for a while, so the specs should be in good shape. (Unlike many new Fortran features that defined by a purely theoretical design.)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Indeed, Cray has had an implementation of coarrays for a decade. While the F2008 syntax has slight variations from what Cray supports, that isn't a serious problem. That coarrays are part of a Fortran standard and integrated into the language is a big plus.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page