Search the Community
Showing results for tags 'File I/O'.
Found 1 result
The work flow pattern of a typical AcuSolve run involves running a preprocessor (acuPrep - a single processor executable) that reads the user input and prepares data for parallel execution. This preprocessor writes files back to an NFS mounted (or network shared) disk for the solver to read when it is launched. Once the parallel solver processes are launched, each processor (or core) of the solver reads its part of the data and starts execution. As the simulation progresses, each solver process writes its own files back to the NFS mounted disk. These files are written at the end of each time step. The user determines the frequency at which these files are written, as well as how many files are written based on the output settings that are specified in the input file. One file is written for each solver process, each time step, and each output type. This can result in thousands of files being created in the output directory. To minimize the file count, acuSolve offers a command line option (-csout) that merges all files of a single output type at each time step (i.e. reduces the number of files at a given timestep by a factor of nProcessors). AcuSolve writes no temporary files (scratch files) during execution, and does not utilize the local disk when running in parallel. At the end of each solver run, AcuSolve prints a summary of how much CPU and elapsed time is spent writing files to disk. This provides a convenient method for users to profile the solver runs and determine how efficient their file system is. For common output frequency settings, the total I/O time for a parallel run is typically 5% or less of the total run time. Output speed is highly dependent on the system hardware and type of simulations that are run. Users are encouraged to evaluate the I/O speed of their systems using simulations that are typical of their business.