kspaceFirstOrder3D-OMP  1.2
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
OutputMessagesWindows.h
Go to the documentation of this file.
1 /**
2  * @file OutputMessagesWindows.h
3  *
4  * @author Jiri Jaros \n
5  * Faculty of Information Technology \n
6  * Brno University of Technology \n
7  * jarosjir@fit.vutbr.cz
8  *
9  * @brief The header file containing all windows specific messages going to the standard output.
10  *
11  * @version kspaceFirstOrder3D 2.16
12  *
13  * @date 30 August 2017, 11:39 (created) \n
14  * 04 September 2017, 10:47 (revised)
15  *
16  * @copyright Copyright (C) 2017 Jiri Jaros and Bradley Treeby.
17  *
18  * This file is part of the C++ extension of the [k-Wave Toolbox](http://www.k-wave.org).
19  *
20  * This file is part of the k-Wave. k-Wave is free software: you can redistribute it and/or modify it under the terms
21  * of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the
22  * License, or (at your option) any later version.
23  *
24  * k-Wave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
26  * more details.
27  *
28  * You should have received a copy of the GNU Lesser General Public License along with k-Wave.
29  * If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
30  */
31 
32 #ifndef OUTPUT_MESSAGES_WINDOWS_H
33 #define OUTPUT_MESSAGES_WINDOWS_H
34 
35 /**
36  * @brief Datatype for output messages.
37  * @details Datatype for output messages.
38  */
39 using OutputMessage = const std::string;
40 
41 
42 //------------------------------------------------- Common outputs ---------------------------------------------------//
43 /// Output message - first separator
45  = "+---------------------------------------------------------------+\n";
46 /// Output message - separator
48  = "+---------------------------------------------------------------+\n";
49 /// Output message -last separator
51  = "+---------------------------------------------------------------+\n";
52 
53 /// Output message - new line
55  = "\n";
56 /// Output message - Done with two spaces
58  = " Done |\n";
59 /// Output message - finish line without done
61  = " |\n";
62 /// Output message - failed message
64  = "Failed |\n" ;
65 /// Output message - vertical line
67  = "|";
68 
69 /// Output message
71  = "| %s |\n";
72 /// Output message
74  = "| Number of CPU threads: %9lu |\n";
75 /// Output message
77  = "+---------------------------------------------------------------+\n"
78  "| Simulation details |\n"
79  "+---------------------------------------------------------------+\n";
80 /// Output message
82  = "+---------------------------------------------------------------+\n"
83  "| Initialization |\n"
84  "+---------------------------------------------------------------+\n";
85 /// Output message
87  = "+---------------------------------------------------------------+\n"
88  "| Computational resources |\n"
89  "+---------------------------------------------------------------+\n";
90 /// Output message
92  = "+---------------------------------------------------------------+\n"
93  "| Simulation |\n"
94  "+----------+----------------+--------------+--------------------+\n"
95  "| Progress | Elapsed time | Time to go | Est. finish time |\n"
96  "+----------+----------------+--------------+--------------------+\n";
97 /// Output message
99  = "+---------------------------------------------------------------+\n"
100  "| Checkpointing |\n"
101  "+---------------------------------------------------------------+\n";
102 /// Output message
104  = "+---------------------------------------------------------------+\n"
105  "| Summary |\n"
106  "+---------------------------------------------------------------+\n";
107 /// Output message
109  = "+---------------------------------------------------------------+\n"
110  "| End of computation |\n"
111  "+---------------------------------------------------------------+\n";
112 
113 ///Output message
115  = "| Elapsed time: %11.2fs |\n";
116 ///Output message
118  = "| Recovered from time step: %8ld |\n";
119 ///Output message
121  = "| Peak memory in use: %8luMB |\n";
122 ///Output message
124  = "| Total execution time: %8.2fs |\n";
125 ///Output message
127  = "| This leg execution time: %8.2fs |\n";
128 
129 ///Output message
131  = "| Reading simulation configuration: ";
132 ///Output message
134  = "| Domain dimensions: %42s |\n";
135 ///Output message
137  = "%lu x %lu x %lu";
138 
139 
140 ///Output message
142  = "| Simulation time steps: %9lu |\n";
143 ///Output message
145  = "| Sensor mask type: Index |\n";
146 ///Output message
148  = "| Sensor mask type: Cuboid |\n";
149 ///Output message
151  = "| Git hash: %s |\n";
152 
153 
154 ///Output message
156  = "kspaceFirstOrder3D-OMP v1.2";
157 
158 ///Output message
160  = "| FFT plans creation: ";
161 ///Output message
163  = "| Pre-processing phase: ";
164 ///Output message
166  = "| Data loading: ";
167 ///Output message
169  = "| Memory allocation: ";
170 ///Output message
172  = "| Current host memory in use: %8luMB |\n";
173 ///Output message
175  ="| %2li%c | %9.3fs | %9.3fs | %02i/%02i/%02i %02i:%02i:%02i |\n";
176 
177 ///Output message
179  = "+----------+----------------+--------------+--------------------+\n";
180 ///Output message
182  = "+----------+----------------+--------------+--------------------+\n";
183 
184 ///Output message
186  = "| Number of time steps completed: %10u |\n";
187 ///Output message
189  = "| Creating checkpoint: ";
190 ///Output message
192  = "| Sampled data post-processing: ";
193 ///Output message
195  = "| + Storing checkpoint data: ";
196 ///Output message
198  = "│ + Storing FFTW wisdom: ";
199 ///Output message
201  = "│ Loading FFTW wisdom: ";
202 ///Output message
204  = "| + Storing sensor data: ";
205 ///Output message
207  = "| + Reading input file: ";
208 ///Output message
210  = "| + Reading checkpoint file: ";
211 ///Output message
213  = "| + Reading output file: ";
214 ///Output message
216  = "| + Creating output file: ";
217 ///Output message
219  = "Input file: ";
220 ///Output message
222  = "Output file: ";
223 ///Output message
225  = "Check file: ";
226 ///Output message
228  = "| Checkpoint interval: %8lus |\n";
229 ///Output message
231  = "| Compression level: %8lu |\n";
232 ///Output message
234  = "| Print progress interval: %8lu%% |\n";
235 ///Output message
237  = "| Benchmark time steps: %8lu |\n";
238 ///Output message
240  = "+---------------------------------------------------------------+\n"
241  "| Sampling flags |\n"
242  "+---------------------------------------------------------------+\n";
243 ///Output message
245  = "| Sampling begins at time step: %8lu |\n";
246 ///Output message
248  = "| Copy sensor mask to output file: Yes |\n";
249 
250 
251 
252 //------------------------------------------------ Print code version ------------------------------------------------//
253 /// Print version output message
255  = "| Build information |\n"
256  "+---------------------------------------------------------------+\n"
257  "| Build number: kspaceFirstOrder3D v2.16 |\n"
258  "| Build date: %*.*s |\n"
259  "| Build time: %*.*s |\n";
260 
261 /// Print version output message
263  = "| Git hash: %s |\n";
264 
265 /// Print version output message
267  = "| Operating system: Linux x64 |\n";
268 /// Print version output message
270  = "| Operating system: Windows x64 |\n";
271 /// Print version output message
273  = "| Operating system: Mac OS X x64 |\n";
274 
275 /// Print version output message
277  = "| Compiler name: GNU C++ %.19s |\n";
278 /// Print version output message
280  = "| Compiler name: Intel C++ %d |\n";
281 /// Print version output message
283  = "| Compiler name: Visual Studio C++ %d |\n";
284 
285 /// Print version output message
287  = "| Instruction set: Intel AVX 2 |\n";
288 /// Print version output message
290  = "| Instruction set: Intel AVX |\n";
291 /// Print version output message
293  = "| Instruction set: Intel SSE 4.2 |\n";
294 /// Print version output message
296  = "| Instruction set: Intel SSE 4.1 |\n";
297 /// Print version output message
299  = "| Instruction set: Intel SSE 3 |\n";
300 /// Print version output message
302  = "| Instruction set: Intel SSE 2 |\n";
303 
304 /// Print version output message
306  = "+---------------------------------------------------------------+\n"
307  "| Contact email: jarosjir@fit.vutbr.cz |\n"
308  "| Contact web: http://www.k-wave.org |\n"
309  "+---------------------------------------------------------------+\n"
310  "| Copyright (C) 2017 Jiri Jaros and Bradley Treeby |\n"
311  "+---------------------------------------------------------------+\n";
312 
313 
314 
315 
316 //------------------------------------------------- Usage ------------------------------------------------------------//
317 /// Usage massage
319  = "| Usage |\n"
320  "+---------------------------------------------------------------+\n"
321  "| Mandatory parameters |\n"
322  "+---------------------------------------------------------------+\n"
323  "| -i <file_name> | HDF5 input file |\n"
324  "| -o <file_name> | HDF5 output file |\n"
325  "+-------------------------------+-------------------------------+\n"
326  "| Optional parameters |\n"
327  "+-------------------------------+-------------------------------+\n";
328 
329 /// Usage massage
331  = "| -r <interval_in_%%> | Progress print interval |\n"
332  "| | (default = %2ld%%) |\n"
333  "| -c <compression_level> | Compression level <0,9> |\n"
334  "| | (default = %1ld) |\n"
335  "| --benchmark <time_steps> | Run only a specified number |\n"
336  "| | of time steps |\n"
337  "| --verbose <level> | Level of verbosity <0,2> |\n"
338  "| | 0 - basic, 1 - advanced, |\n"
339  "| | 2 - full |\n"
340  "| | (default = basic) |\n"
341  "| -h, --help | Print help |\n"
342  "| --version | Print version and build info |\n"
343  "+-------------------------------+-------------------------------+\n"
344  "| --checkpoint_file <file_name> | HDF5 checkpoint file |\n"
345  "| --checkpoint_interval <sec> | Checkpoint after a given |\n"
346  "| | number of seconds |\n"
347  "+-------------------------------+-------------------------------+\n"
348  "| Output flags |\n"
349  "+-------------------------------+-------------------------------+\n"
350  "| -p | Store acoustic pressure |\n"
351  "| | (default output flag) |\n"
352  "| | (the same as --p_raw) |\n"
353  "| --p_raw | Store raw time series of p |\n"
354  "| --p_rms | Store rms of p |\n"
355  "| --p_max | Store max of p |\n"
356  "| --p_min | Store min of p |\n"
357  "| --p_max_all | Store max of p (whole domain) |\n"
358  "| --p_min_all | Store min of p (whole domain) |\n"
359  "| --p_final | Store final pressure field |\n"
360  "+-------------------------------+-------------------------------+\n"
361  "| -u | Store ux, uy, uz |\n"
362  "| | (the same as --u_raw) |\n"
363  "| --u_raw | Store raw time series of |\n"
364  "| | ux, uy, uz |\n"
365  "| --u_non_staggered_raw | Store non-staggered raw time |\n"
366  "| | series of ux, uy, uz |\n"
367  "| --u_rms | Store rms of ux, uy, uz |\n"
368  "| --u_max | Store max of ux, uy, uz |\n"
369  "| --u_min | Store min of ux, uy, uz |\n"
370  "| --u_max_all | Store max of ux, uy, uz |\n"
371  "| | (whole domain) |\n"
372  "| --u_min_all | Store min of ux, uy, uz |\n"
373  "| | (whole domain) |\n"
374  "| --u_final | Store final acoustic velocity |\n"
375  "+-------------------------------+-------------------------------+\n"
376  "| -s <time_step> | When data collection begins |\n"
377  "| | (default = 1) |\n"
378  "+-------------------------------+-------------------------------+\n";
379 
380 /// Usage massage
382  = "| -t <num_threads> | Number of CPU threads |\n"
383  "| | (default = %2d) |\n";
384 
385 #endif /* OUTPUT_MESSAGES_WINDOWS_H */
OutputMessage kOutFmtInputFile
Output message.
OutputMessage kOutFmtEndOfSimulation
Output message.
OutputMessage kOutFmtReadingOutputFile
Output message.
OutputMessage kOutFmtSummaryHeader
Output message.
OutputMessage kOutFmtDomainSizeFormat
Output message.
OutputMessage kOutFmtDomainSize
Output message.
OutputMessage kOutFmtSeparator
Output message - separator.
OutputMessage kOutFmtCodeName
Output message.
OutputMessage kOutFmtSSE3
Print version output message.
OutputMessage kOutFmtMemoryAllocation
Output message.
OutputMessage kOutFmtPreProcessing
Output message.
OutputMessage kOutFmtInitializationHeader
Output message.
OutputMessage kOutFmtGitHashLeft
Output message.
OutputMessage kOutFmtAVX2
Print version output message.
OutputMessage kOutFmtAVX
Print version output message.
OutputMessage kOutFmtRecoveredFrom
Output message.
OutputMessage kOutFmtNewLine
Output message - new line.
OutputMessage kOutFmtDataLoading
Output message.
OutputMessage kOutFmtVerticalLine
Output message - vertical line.
OutputMessage kOutFmtGnuCompiler
Print version output message.
OutputMessage kOutFmtSamplingStartsAt
Output message.
OutputMessage kOutFmtMacOsBuild
Print version output message.
OutputMessage kOutFmtReadingInputFile
Output message.
OutputMessage kOutFmtSSE42
Print version output message.
OutputMessage kOutFmtUsagePart2
Usage massage.
OutputMessage kOutFmtIntelCompiler
Print version output message.
OutputMessage kOutFmtFailed
Output message - failed message.
OutputMessage kOutFmtMemoryUsage
Output message.
OutputMessage kOutFmtSSE41
Print version output message.
OutputMessage kOutFmtCheckpointTimeSteps
Output message.
OutputMessage kOutFmtUsageThreads
Usage massage.
OutputMessage kOutFmtCopySensorMask
Output message.
OutputMessage kOutFmtFftPlans
Output message.
OutputMessage kOutFmtCheckpointFile
Output message.
OutputMessage kOutFmtCurrentMemory
Output message.
OutputMessage kOutFmtSimulationProgress
Output message.
OutputMessage kOutFmtOutputFile
Output message.
OutputMessage kOutFmtStoringFftwWisdom
Output message.
OutputMessage kOutFmtCheckpointInterval
Output message.
const std::string OutputMessage
Datatype for output messages.
OutputMessage kOutFmtReadingCheckpointFile
Output message.
OutputMessage kOutFmtSimulationHeader
Output message.
OutputMessage kOutFmtLicense
Print version output message.
OutputMessage kOutFmtWindowsBuild
Print version output message.
OutputMessage kOutFmtSensorMaskIndex
Output message.
OutputMessage kOutFmtSamplingFlags
Output message.
OutputMessage kOutFmtUsagePart1
Usage massage.
OutputMessage kOutFmtLoadingFftwWisdom
Output message.
OutputMessage kOutFmtBenchmarkTimeStep
Output message.
OutputMessage kOutFmtNumberOfThreads
Output message.
OutputMessage kOutFmtLegExecutionTime
Output message.
OutputMessage kOutFmtCreatingCheckpoint
Output message.
OutputMessage kOutFmtCompResourcesHeader
Output message.
OutputMessage kOutFmtDone
Output message - Done with two spaces.
OutputMessage kOutFmtBuildNoDataTime
Print version output message.
OutputMessage kOutFmtNoDone
Output message - finish line without done.
OutputMessage kOutFmtVersionGitHash
Print version output message.
OutputMessage kOutFmtPostProcessing
Output message.
OutputMessage kOutFmtElapsedTime
Output message.
OutputMessage kOutFmtLinuxBuild
Print version output message.
OutputMessage kOutFmtFirstSeparator
Output message - first separator.
OutputMessage kOutFmtStoringCheckpointData
Output message.
OutputMessage kOutFmtSimulatoinLenght
Output message.
OutputMessage kOutFmtTotalExecutionTime
Output message.
OutputMessage kOutFmtPrintProgressIntrerval
Output message.
OutputMessage kOutFmtCheckpointHeader
Output message.
OutputMessage kOutFmtCompressionLevel
Output message.
OutputMessage kOutFmtLastSeparator
Output message -last separator.
OutputMessage kOutFmtKWaveVersion
Output message.
OutputMessage kOutFmtSimulatoinFinalSeparator
Output message.
OutputMessage kOutFmtSimulationDetailsTitle
Output message.
OutputMessage kOutFmtCreatingOutputFile
Output message.
OutputMessage kOutFmtStoringSensorData
Output message.
OutputMessage kOutFmtSensorMaskCuboid
Output message.
OutputMessage kOutFmtReadingConfiguration
Output message.
OutputMessage kOutFmtSimulationEndSeparator
Output message.
OutputMessage kOutFmtSSE2
Print version output message.
OutputMessage kOutFmtVisualStudioCompiler
Print version output message.