Collective file operations are collective over a dup of the communicator used to open the file--this duplicate communicator is implicitly specified via the file handle argument. Different processes can pass different values for other arguments of a collective routine unless specified otherwise.
MPI-Standard for MARMOT