- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've read the Intel docs about enabling buffered I/O with ifort (using -assume buffered_io or FORT_BUFFERED=true), and this works fine for output directly to files. However, we have large applications that are writing to stdout (e.g.write(*,*) or write(stdout,*)), which is redirected to a file. Neither of the buffering techniques work in this case.
Other than refactoring the code to write directly to files, is there a method to enable buffered I/O on stdout with ifort? This is enabled by default on, for example, gfortran.
We're using ifort 12.0 on SLES 11.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
this feature has been implemented in Intel Fortran Composer XE 2013 SP1, aka version 14.0 of the compiler.
This must be explicitly asked for, with compiler option -assume buffered_stdout. The default is -assume nobuffered_stdout.
Tells the Fortran run-time system to accumulate data for the standard output device in a buffer. When the buffer is full or the uses executes a FLUSH on OUTPUT_UNIT in intrinsic module ISO_FORTRAN_ENV, the data is displayed on the standard output unit.
Using buffered writes may be a more efficient in time and space but use assume nobuffered_stdout if you want data displayed immediately on the standard output device, like for an input prompt.
assume [no]buffered_stdout does not affect and is not affected by assume [no]buffered_io.
Link Copied
- 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
- 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
this feature has been implemented in Intel Fortran Composer XE 2013 SP1, aka version 14.0 of the compiler.
This must be explicitly asked for, with compiler option -assume buffered_stdout. The default is -assume nobuffered_stdout.
Tells the Fortran run-time system to accumulate data for the standard output device in a buffer. When the buffer is full or the uses executes a FLUSH on OUTPUT_UNIT in intrinsic module ISO_FORTRAN_ENV, the data is displayed on the standard output unit.
Using buffered writes may be a more efficient in time and space but use assume nobuffered_stdout if you want data displayed immediately on the standard output device, like for an input prompt.
assume [no]buffered_stdout does not affect and is not affected by assume [no]buffered_io.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page