In order to support buffered reads through Grappa file IO of line-based text files.
If we put the FileIO library in charge of parallelization--as in, for example, the Grappa_read_array API--then the user will provide a callback on_line( char * line).
An ordered line-based interface has to provide also a line index (on_line( int64_t i, char * line)), but requires an extra pass through the file to do a prefix sum. A reasonable simplification of this might be to accept only normalized files where all lines are equal length.
In order to support buffered reads through Grappa file IO of line-based text files.
If we put the FileIO library in charge of parallelization--as in, for example, the Grappa_read_array API--then the user will provide a callback
on_line( char * line)
.An ordered line-based interface has to provide also a line index (
on_line( int64_t i, char * line)
), but requires an extra pass through the file to do a prefix sum. A reasonable simplification of this might be to accept only normalized files where all lines are equal length.