- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Abhi
--
[fortran] Program Sample_COArray Use, Intrinsic :: ISO_Fortran_Env Implicit None Integer :: J
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This might be a documented behavior. In COArray environment the seperate images are typically run on seperate systems. Therfore your
Write(OUTPUT_UNIT,"(A,I0)")"IamImageNumber:",THIS_IMAGE()
Flush(OUTPUT_UNIT)
Will not proceed directly to the same file. What is likely happening is the file output (at least by the non-MasterImage) is being managed by a helper thread (on each system). My guess is the message delivery from the non-MasterImage to the MasterImage has not yet occured. Look in the advance API documentation to see if there is a file (message) sync function.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried the program on my Nehalem system (8 threads) and always got the "number of images" print at the end. Can you show me the output of several runs showing the difference? I assume you are using the default shared memory environment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What I was attempting to say (postulate) is:
SYNC ALL
may correctly synchronize the computational threads of each system
but it may be failing to synchronize the additional helper threads used for messaging I/O to the master system.
>>I tried the program on my Nehalem system (8 threads)
What is the user's configuration?
1P, nP SMP, cluster?
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are no helper threads here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve
Did you try this with update 7 or 6? I am still using the latter.
Abhi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Abhi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was able to reproduce what you are seeing. I could reproduce this on a 6-core Westmere server WITH hyperthreading turned on.
From your sample you are running 4 images. How many PHYSICAL cores do you have - what is your processor?
I suspect this is a bug due to running on hyperthreaded cores. And you are correct, the FLUSH followed by SYNC ALL should flush the IO buffers. So this is a bug, but again, I think it's hyperthreading related.
let me know if hyperthreading is turned on in your system. Also, what OS - Win7, ia32 or x64?
ron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ron
My system is:
(a) Win7 (64bit) Professional with Service Pack 1
(b) VS2010 Professional
(c) IVF 12 update 7
(d) Intel Xeon W3565 -- it has 4 cores. Hyperthreading is OFF. That is, if I open task manager I see 4 "cpu windows".
Steve, I think it is a bug in the Intel implementation as Ron has suggested. (Numrich/Reid document section 10 paragraph 4 makes a mention of using both FLUSH and SYNC in casessuch as when order is important or data from one image is to read by other.) But I may be wrong. Since you and Ron have posted two different opinions, I am confused.
Abhi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page