Slow inter-image data transfer using coarrays

Slow inter-image data transfer using coarrays

Chris G.'s picture

I am using coarrays with the Intel Fortran compiler (2011) with Windows 7, 64 bit. Transferring large matrices (200x2000) between images is taking several (>5) seconds. Is this a well known phenomenon? Is the data transrerred a byte at a time? Simple code to emulate this problem is enclosed.

Chris

AttachmentSize
Download average.f901023 bytes
4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Steve Lionel (Intel)'s picture

We are working on improving the performance of coarrays. Some of this work is included in Update 1 to the 2013 edition, but requires adding the undocumented command line option /switch:coarray_opts It will be the default in a future version. When I used this, the time taken for your program on 8 images dropped from 97 seconds to 25.4 seconds.

Steve
Chris G.'s picture

Thanks, as always. I have ordered the 2013 version and it will arrive soon. Is Update 1 available to download?

Chris

Steve Lionel (Intel)'s picture

Yes, Update 1 was released a few weeks ago. Once you get your serial number you can register it at https://registrationcenter.intel.com/ and download the latest version.

Steve

Login to leave a comment.