Unfortunately, what you want to do might not work. There are some file systems that can handle parallel I/O. However, the standard I/O provided by C, C++, and Fortran do have some limitations and may not handled this correctly. The OpenMP spec does have a statement about Fortran saying "unsynchronized use of Fortran I/O statements by multiple threads on the same unit has unspecified behavior". The spec says that the base language must be thread-safe and that all library, intrinsic and built-in routines provided by the base language must be threadsafe in a compliant implementation. However, if you do something like write to the same file from two different units (Fortran) or the same file from stdout and stderr, then there is no guarantee that the output will be correct. So there are some limitations that you have to be careful of.