In general, files written by MPI_File_write (and friends) are only guaranteed to be readable by MPI_File_read (and friends). So if you have an ASCII input file, or even a binary input file, you might need to read it in with traditional/unix file read functions and then write it out with MPI_File_write. Then your parallel application will be able to use the various MPI_File_* functions to read the file at run- time. Hence, there's no real generic <non-MPI-file> -> <MPI-file> convertor; you'll need to write your own that is specific to your data.

Make sense?


On Apr 14, 2009, at 6:50 PM, Jovana Knezevic wrote:

>
>  Hi Jovana,
>
> 825307441 is 0x31313131 in base 16 (hexadecimal), which is the string > `1111' in ASCII. MPI_File_read reads in binary values (not ASCII) just
>  as the standard functions read(2) and fread(3) do.
>
> So, your program is fine; however, your data file (first.dat) is not.
>
>  Cheers,
>  Shaun
>

Thank you very much, Shaun! Ok, now I realise it's really stupid that
I was trying so hard to get the result that I wanted :-)
Well, it seems it's not a problem if I'm just reading with
MPI_File_read and writing with MPI_File_write, but if I try to do some
calculations with the data I read, it doesn't work... Do you maybe
have some idea how one can deal with this ( I have an input file for
my project - much larger code than the sample I gave last time -
consisting of integers, doubles, characters and so on... Maybe it's a
silly question, but can I convert my input file somehow into something
so that it works? :-) Any ideas would help.
Thanks again.

Cheers,
Jovana
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Jeff Squyres
Cisco Systems

Reply via email to