CoArray I/O, Windows Instruction File, and Setting Max Images

CoArray I/O, Windows Instruction File, and Setting Max Images

How is I/O handeled with CoArrays on Windows. I know that WRITE(* goes to all images and READ(* is set to Image 1, but if I have an input file assigned to unit 17 and all the images open the file will there be read input errors? Say I have IUNIT=17 and I open the file with all the images OPEN(UNIT=IUNIT,FILE='INPUT.txt') would they be synconized on the read statements (READ(IUNIT,*) X,Y,Z)  or each over there only location within the file?

The program I want to modify had a series of input files and I like the threads to read the same ones except for one file. 9 input files are the same and the 10th contains different values for the coarrays to handle. It be great not to have to clone the 9 input files to separate directories.

Also, eventually this code will be run on a Windows Cluster. Could someone provide an example CoArray instruction file for how this is done for windows? I have only seen versions for linux.

Is there a way of setting the max number of images at runtime besides using the FOR_COARRAY_NUM_IMAGES variable?

Thanks for your input.

3 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

It's not that "WRITE(*) goes to all images". Here's how it works:

  • "Standard input" (that is, READ(*)), is preconnected only on image 1
  • All other images have their own independent units, including standard output (WRITE(*)). The standard encourages, but does not require, implementations to "merge the streams" of standard output and Intel Fortran does this, so that all of the writes to unit * (or 6) will appear on the console of image 1, though the order is indeterminate.
  • Any files you open are independent of other images. It is generally an error to open the same file twice, so yes, if you open a file on unit 17 in one image, you will likely get errors if you try to open the same file in other images. If you have enabled (non-standard) file sharing options, the open may succeed but there's no synchronization of file positions

For Windows Clusters, see http://software.intel.com/en-us/articles/building-and-running-a-distribu... (linked in the release notes)

The environment variable is the only control we provide for number of images.

Steve - Intel Developer Support

Thanks, that is what exactly what I was looking for.

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!