kspaceFirstOrder3D-CUDA  1.1
The CUDA/C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 messages going to the standard output,
10  * windows version.
11  *
12  * @version kspaceFirstOrder3D 3.4
13  *
14  * @date 13 July 2016, 12:35 (created) \n
15  * 29 July 2016, 16:44 (revised)
16  *
17  * @section License
18  * This file is part of the C++ extension of the k-Wave Toolbox
19  * (http://www.k-wave.org).\n Copyright (C) 2016 Jiri Jaros and Bradley Treeby.
20  *
21  * This file is part of the k-Wave. k-Wave is free software: you can redistribute it and/or modify
22  * it under the terms of the GNU Lesser General Public License as published by the Free Software
23  * Foundation, either version 3 of the License, or (at your option) any later version.
24  *
25  * k-Wave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
26  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
27  * General Public License for more details.
28  *
29  * You should have received a copy of the GNU Lesser General Public License along with k-Wave.
30  * If not, see http://www.gnu.org/licenses/.
31  */
32 
33 #ifndef OUTPUT_MESSAGES_WINDOWS_H
34 #define OUTPUT_MESSAGES_WINDOWS_H
35 
36 /**
37  * @typedef TOutputMessage
38  * @brief Datatype for output messages.
39  * @details Datatype for output messages.
40  */
41 typedef const std::string TOutputMessage;
42 
43 
44 //--------------------------------------- Common outputs -----------------------------------------//
45 /// Output message - first separator
47  = "+---------------------------------------------------------------+\n";
48 /// Output message - separator
50  = "+---------------------------------------------------------------+\n";
51 /// Output message -last separator
53  = "+---------------------------------------------------------------+\n";
54 
55 /// Output message - new line
57  = "\n";
58 /// Output message - Done with two spaces
60  = " Done |\n";
61 /// Output message - finish line without done
63  = " |\n";
64 /// Output message - failed message
66  = "Failed |\n" ;
67 /// Output message - vertical line
69  = "|";
70 
71 /// Output message
73  = "| %s |\n";
74 /// Output message
76  = "| Number of CPU threads: %9lu |\n";
77 /// Output message
79  = "+---------------------------------------------------------------+\n"
80  "| Simulation details |\n"
81  "+---------------------------------------------------------------+\n";
82 /// Output message
84  = "+---------------------------------------------------------------+\n"
85  "| Initialization |\n"
86  "+---------------------------------------------------------------+\n";
87 /// Output message
89  = "+---------------------------------------------------------------+\n"
90  "| Computational resources |\n"
91  "+---------------------------------------------------------------+\n";
92 /// Output message
94  = "+---------------------------------------------------------------+\n"
95  "| Simulation |\n"
96  "+----------+----------------+--------------+--------------------+\n"
97  "| Progress | Elapsed time | Time to go | Est. finish time |\n"
98  "+----------+----------------+--------------+--------------------+\n";
99 /// Output message
101  = "+---------------------------------------------------------------+\n"
102  "| Checkpointing |\n"
103  "+---------------------------------------------------------------+\n";
104 /// Output message
106  = "+---------------------------------------------------------------+\n"
107  "| Summary |\n"
108  "+---------------------------------------------------------------+\n";
109 /// Output message
111  "+---------------------------------------------------------------+\n"
112  "| End of computation |\n"
113  "+---------------------------------------------------------------+\n";
114 
115 ///Output message
117  = "| Elapsed time: %11.2fs |\n";
118 ///Output message
120  = "| Recovered from time step: %8ld |\n";
121 ///Output message
123  = "| Peak host memory in use: %8luMB |\n";
124 ///Output message
126  = "| Peak device memory in use: %8luMB |\n";
127 ///Output message
129  = "| Total execution time: %8.2fs |\n";
130 ///Output message
132  = "| This leg execution time: %8.2fs |\n";
133 
134 ///Output message
136  = "| Reading simulation configuration: ";
137 ///Output message
139  = "| Selected GPU device id: ";
140 ///Output message
142  = "%6d |\n";
143 ///Output message
145  = "| GPU device name: %44s |\n";
146 ///Output message
148  = "| Domain dimensions: %42s |\n";
149 ///Output message
151  = "%lu x %lu x %lu";
152 
153 
154 ///Output message
156  = "| Simulation time steps: %9lu |\n";
157 ///Output message
159  = "| Sensor mask type: Index |\n";
160 ///Output message
162  = "| Sensor mask type: Cuboid |\n";
163 ///Output message
165  = "| Git hash: %s |\n";
166 
167 
168 ///Output message
170  = "kspaceFirstOrder3D-CUDA v1.1";
171 
172 ///Output message
174  = "| FFT plans creation: ";
175 ///Output message
177  = "| Pre-processing phase: ";
178 ///Output message
180  = "| Data loading: ";
181 ///Output message
183  = "| Memory allocation: ";
184 ///Output message
186  = "| Current host memory in use: %8luMB |\n";
187 ///Output message
189  = "| Current device memory in use: %8luMB |\n";
190 
191 ///Output message
193  = "%d x %d";
194 ///Output message
196  = "| CUDA solver grid size [blocks x threads]: %19s |\n";
197 ///Output message
199  = "| CUDA sampler grid size [blocks x threads]: %18s |\n";
200 
201 ///Output message
203  ="| %2li%c | %9.3fs | %9.3fs | %02i/%02i/%02i %02i:%02i:%02i |\n";
204 
205 ///Output message
207  = "+----------+----------------+--------------+--------------------+\n";
208 ///Output message
210  = "+----------+----------------+--------------+--------------------+\n";
211 
212 ///Output message
214  = "| Number of time steps completed: %10u |\n";
215 ///Output message
217  = "| Creating checkpoint: ";
218 ///Output message
220  = "| Sampled data post-processing: ";
221 ///Output message
223  = "| + Storing checkpoint data: ";
224 ///Output message
226  = "| + Storing sensor data: ";
227 ///Output message
229  = "| + Reading input file: ";
230 ///Output message
232  = "| + Reading checkpoint file: ";
233 ///Output message
235  = "| + Reading output file: ";
236 ///Output message
238  = "| + Creating output file: ";
239 ///Output message
241  = "Input file: ";
242 ///Output message
244  = "Output file: ";
245 ///Output message
247  = "Check file: ";
248 ///Output message
250  = "| Checkpoint interval: %8lus |\n";
251 ///Output message
253  = "| Compression level: %8lu |\n";
254 ///Output message
256  = "| Print progress interval: %8lu%% |\n";
257 ///Output message
259  = "| Benchmark time steps: %8lu |\n";
260 ///Output message
262  = "+---------------------------------------------------------------+\n"
263  "| Sampling flags |\n"
264  "+---------------------------------------------------------------+\n";
265 ///Output message
267  = "| Sampling begins at time step: %8lu |\n";
268 ///Output message
270  = "| Copy sensor mask to output file: Yes |\n";
271 
272 
273 
274 //-------------------------------------- Print code version --------------------------------------//
275 /// Print version output message
277  = "+---------------------------------------------------------------+\n"
278  "| Build information |\n"
279  "+---------------------------------------------------------------+\n"
280  "| Build Number: kspaceFirstOrder3D v3.4 |\n"
281  "| Build date: %*.*s |\n"
282  "| Build time: %*.*s |\n";
283 
284 /// Print version output message
286  = "| Git hash: %s |\n";
287 
288 /// Print version output message
290  = "| Operating system: Linux x64 |\n";
291 /// Print version output message
293  = "| Operating system: Windows x64 |\n";
294 /// Print version output message
296  = "| Operating system: Mac OS X x64 |\n";
297 
298 /// Print version output message
300  = "| Compiler name: GNU C++ %.19s |\n";
301 /// Print version output message
303  = "| Compiler name: Intel C++ %d |\n";
304 /// Print version output message
306  = "| Compiler name: Visual Studio C++ %d |\n";
307 
308 /// Print version output message
310  = "| Instruction set: Intel AVX 2 |\n";
311 /// Print version output message
313  = "| Instruction set: Intel AVX |\n";
314 /// Print version output message
316  = "| Instruction set: Intel SSE 4.2 |\n";
317 /// Print version output message
319  = "| Instruction set: Intel SSE 4.1 |\n";
320 /// Print version output message
322  = "| Instruction set: Intel SSE 3 |\n";
323 /// Print version output message
325  = "| Instruction set: Intel SSE 2 |\n";
326 
327 /// Print version output message
329  = "| CUDA Runtime: N/A |\n";
330 /// Print version output message
332  = "| CUDA Runtime: %d.%d |\n";
333 /// Print version output message
335  = "| CUDA Driver: %d.%d |\n";
336 
337 /// Print version output message
339  = "| CUDA code arch: N/A |\n"
340  "+---------------------------------------------------------------+\n"
341  "| CUDA device id: N/A |\n"
342  "| CUDA device name: N/A |\n"
343  "| CUDA capability: N/A |\n";
344 
345 /// Print version output message
347  = "| CUDA code arch: %1.1f |\n";
348 /// Print version output message
350  = "| CUDA device id: %d |\n";
351 /// Print version output message
353  = "| CUDA device name: %s %.*s|\n";
354 /// Print version output message
356  = " ";
357 /// Print version output message
359  = "| CUDA capability: %d.%d |\n";
360 /// Print version output message
362  = "+---------------------------------------------------------------+\n"
363  "| Contact email: jarosjir@fit.vutbr.cz |\n"
364  "| Contact web: http://www.k-wave.org |\n"
365  "+---------------------------------------------------------------+\n"
366  "| Copyright (C) 2016 Jiri Jaros and Bradley Treeby |\n"
367  "+---------------------------------------------------------------+\n";
368 
369 
370 
371 
372 //------------------------------ Usage ----------------------------------------//
373 /// Usage massage
375  = "| Usage |\n"
376  "+---------------------------------------------------------------+\n"
377  "| Mandatory parameters |\n"
378  "+---------------------------------------------------------------+\n"
379  "| -i <file_name> | HDF5 input file |\n"
380  "| -o <file_name> | HDF5 output file |\n"
381  "+-------------------------------+-------------------------------+\n"
382  "| Optional parameters |\n"
383  "+-------------------------------+-------------------------------+\n";
384 
385 /// Usage massage
387  = "| -g <device_number> | GPU device to run on |\n"
388  "| | (default = the first free) |\n"
389  "| -r <interval_in_%%> | Progress print interval |\n"
390  "| | (default = %2ld%%) |\n"
391  "| -c <compression_level> | Compression level <0,9> |\n"
392  "| | (default = %1ld) |\n"
393  "| --benchmark <time_steps> | Run only a specified number |\n"
394  "| | of time steps |\n"
395  "| --verbose <level> | Level of verbosity <0,2> |\n"
396  "| | 0 - basic, 1 - advanced, |\n"
397  "| | 2 - full |\n"
398  "| | (default = basic) |\n"
399  "| -h, --help | Print help |\n"
400  "| --version | Print version and build info |\n"
401  "+-------------------------------+-------------------------------+\n"
402  "| --checkpoint_file <file_name> | HDF5 checkpoint file |\n"
403  "| --checkpoint_interval <sec> | Checkpoint after a given |\n"
404  "| | number of seconds |\n"
405  "+-------------------------------+-------------------------------+\n"
406  "| Output flags |\n"
407  "+-------------------------------+-------------------------------+\n"
408  "| -p | Store acoustic pressure |\n"
409  "| | (default output flag) |\n"
410  "| | (the same as --p_raw) |\n"
411  "| --p_raw | Store raw time series of p |\n"
412  "| --p_rms | Store rms of p |\n"
413  "| --p_max | Store max of p |\n"
414  "| --p_min | Store min of p |\n"
415  "| --p_max_all | Store max of p (whole domain) |\n"
416  "| --p_min_all | Store min of p (whole domain) |\n"
417  "| --p_final | Store final pressure field |\n"
418  "+-------------------------------+-------------------------------+\n"
419  "| -u | Store ux, uy, uz |\n"
420  "| | (the same as --u_raw) |\n"
421  "| --u_raw | Store raw time series of |\n"
422  "| | ux, uy, uz |\n"
423  "| --u_non_staggered_raw | Store non-staggered raw time |\n"
424  "| | series of ux, uy, uz |\n"
425  "| --u_rms | Store rms of ux, uy, uz |\n"
426  "| --u_max | Store max of ux, uy, uz |\n"
427  "| --u_min | Store min of ux, uy, uz |\n"
428  "| --u_max_all | Store max of ux, uy, uz |\n"
429  "| | (whole domain) |\n"
430  "| --u_min_all | Store min of ux, uy, uz |\n"
431  "| | (whole domain) |\n"
432  "| --u_final | Store final acoustic velocity |\n"
433  "+-------------------------------+-------------------------------+\n"
434  "| -s <time_step> | When data collection begins |\n"
435  "| | (default = 1) |\n"
436  "+-------------------------------+-------------------------------+\n";
437 
438 /// Usage massage
440  = "| -t <num_threads> | Number of CPU threads |\n"
441  "| | (default = %2d) |\n";
442 
443 #endif /* OUTPUT_MESSAGES_WINDOWS_H */
444 
TOutputMessage OUT_FMT_GNU_COMPILER
Print version output message.
TOutputMessage OUT_FMT_DEVICE_MEMORY_USAGE
Output message.
TOutputMessage OUT_FMT_USAGE_PART_2
Usage massage.
TOutputMessage OUT_FMT_FFT_PLANS
Output message.
TOutputMessage OUT_FMT_SSE3
Print version output message.
TOutputMessage OUT_FMT_CREATING_CHECKPOINT
Output message.
TOutputMessage OUT_FMT_DEVICE_NAME
Output message.
TOutputMessage OUT_FMT_SIMULATION_PROGRESS
Output message.
TOutputMessage OUT_FMT_OUTPUT_FILE
Output message.
TOutputMessage OUT_FMT_TOTAL_EXECUTION_TIME
Output message.
TOutputMessage OUT_FMT_USAGE_PART_1
Usage massage.
TOutputMessage OUT_FMT_SIMULATION_DETAIL_TITLE
Output message.
TOutputMessage OUT_FMT_CUDA_GRID_SHAPE_FORMAT
Output message.
TOutputMessage OUT_FMT_DOMAIN_SIZE
Output message.
TOutputMessage OUT_FMT_VERSION_GIT_HASH
Print version output message.
TOutputMessage OUT_FMT_COPY_SENSOR_MASK
Output message.
TOutputMessage OUT_FMT_SENSOR_MASK_CUBOID
Output message.
TOutputMessage OUT_FMT_CUDA_DEVICE_INFO_NA
Print version output message.
TOutputMessage OUT_FMT_DEVICE_ID
Output message.
TOutputMessage OUT_FMT_READING_CHECKPOINT_FILE
Output message.
TOutputMessage OUT_FMT_CUDA_SAMPLER_GRID_SHAPE
Output message.
TOutputMessage OUT_FMT_RECOVER_FROM
Output message.
TOutputMessage OUT_FMT_CHECKPOINT_FILE
Output message.
TOutputMessage OUT_FMT_CUDA_CAPABILITY
Print version output message.
TOutputMessage OUT_FMT_COMP_RESOURCES_HEADER
Output message.
TOutputMessage OUT_FMT_CREATING_OUTPUT_FILE
Output message.
TOutputMessage OUT_FMT_CUDA_RUNTIME_NA
Print version output message.
TOutputMessage OUT_FMT_READING_OUTPUT_FILE
Output message.
TOutputMessage OUT_FMT_PRE_PROCESSING
Output message.
TOutputMessage OUT_FMT_COMPRESSION_LEVEL
Output message.
TOutputMessage OUT_FMT_USAGE_THREADS
Usage massage.
TOutputMessage OUT_FMT_NUMBER_OF_THREADS
Output message.
TOutputMessage OUT_FMT_READING_INPUT_FILE
Output message.
TOutputMessage OUT_FMT_SAMPLING_BEGINS_AT
Output message.
TOutputMessage OUT_FMT_HOST_MEMORY_USAGE
Output message.
TOutputMessage OUT_FMT_MAC_OS_BUILD
Print version output message.
TOutputMessage OUT_FMT_CHECKPOINT_HEADER
Output message.
TOutputMessage OUT_FMT_CUDA_CODE_ARCH
Print version output message.
TOutputMessage OUT_FMT_SEPARATOR
Output message - separator.
TOutputMessage OUT_FMT_FIRST_SEPARATOR
Output message - first separator.
TOutputMessage OUT_FMT_STORING_SENSOR_DATA
Output message.
TOutputMessage OUT_FMT_CURRENT_DEVICE_MEMORY
Output message.
TOutputMessage OUT_FMT_CUDA_DEVICE_NAME_PADDING
Print version output message.
TOutputMessage OUT_FMT_DOMAIN_SIZE_FORMAT
Output message.
TOutputMessage OUT_FMT_ELAPSED_TIME
Output message.
TOutputMessage OUT_FMT_PRINT_PROGRESS_INTERVAL
Output message.
TOutputMessage OUT_FMT_MEMORY_ALLOCATION
Output message.
TOutputMessage OUT_FMT_INIT_HEADER
Output message.
TOutputMessage OUT_FMT_LINUX_BUILD
Print version output message.
TOutputMessage OUT_FMT_DONE
Output message - Done with two spaces.
TOutputMessage OUT_FMT_STORING_CHECKPOINT_DATA
Output message.
TOutputMessage OUT_FMT_CHECKPOINT_INTERVAL
Output message.
TOutputMessage OUT_FMT_AVX
Print version output message.
TOutputMessage OUT_FMT_POST_PROCESSING
Output message.
TOutputMessage OUT_FMT_SIMULATION_FINAL_SEPARATOR
Output message.
TOutputMessage OUT_FMT_SSE42
Print version output message.
TOutputMessage OUT_FMT_SSE41
Print version output message.
TOutputMessage OUT_FMT_BUILD_NO_DATE_TIME
Print version output message.
TOutputMessage OUT_FMT_LEG_EXECUTION_TIME
Output message.
TOutputMessage OUT_FMT_SUMMARY_HEADER
Output message.
TOutputMessage OUT_FMT_SAMPLING_FLAGS
Output message.
TOutputMessage OUT_FMT_VERTICAL_LINE
Output message - vertical line.
TOutputMessage OUT_FMT_END_OF_SIMULATION
Output message.
TOutputMessage OUT_FMT_CURRENT_HOST_MEMORY
Output message.
TOutputMessage OUT_FMT_WINDOWS_BUILD
Print version output message.
TOutputMessage OUT_FMT_INPUT_FILE
Output message.
TOutputMessage OUT_FMT_GIT_HASH_LEFT
Output message.
TOutputMessage OUT_FMT_NEW_LINE
Output message - new line.
TOutputMessage OUT_FMT_FAILED
Output message - failed message.
TOutputMessage OUT_FMT_LAST_SEPARATOR
Output message -last separator.
TOutputMessage OUT_FMT_CUDA_DRIVER
Print version output message.
TOutputMessage OUT_FMT_LICENCE
Print version output message.
TOutputMessage OUT_FMT_CUDA_SOLVER_GRID_SHAPE
Output message.
TOutputMessage OUT_FMT_SSE2
Print version output message.
TOutputMessage OUT_FMT_DATA_LOADING
Output message.
TOutputMessage OUT_FMT_CHECKPOINT_TIME_STEPS
Output message.
TOutputMessage OUT_FMT_VISUAL_STUDIO_COMPILER
Print version output message.
TOutputMessage OUT_FMT_READING_CONFIGURATION
Output message.
TOutputMessage OUT_FMT_CUDA_DEVICE
Print version output message.
TOutputMessage OUT_FMT_SIMULATION_LENGTH
Output message.
TOutputMessage OUT_FMT_CUDA_DEVICE_NAME
Print version output message.
TOutputMessage OUT_FMT_BENCHMARK_TIME_STEP
Output message.
TOutputMessage OUT_FMT_INTEL_COMPILER
Print version output message.
TOutputMessage OUT_FMT_SIMULATOIN_END_SEPARATOR
Output message.
TOutputMessage OUT_FMT_SELECTED_DEVICE
Output message.
TOutputMessage OUT_FMT_CUDA_RUNTIME
Print version output message.
const std::string TOutputMessage
Datatype for output messages.
TOutputMessage OUT_FMT_AVX2
Print version output message.
TOutputMessage OUT_FMT_FINSIH_NO_DONE
Output message - finish line without done.
TOutputMessage OUT_FMT_KWAVE_VERSION
Output message.
TOutputMessage OUT_FMT_SENSOR_MASK_INDEX
Output message.
TOutputMessage OUT_FMT_CODE_NAME
Output message.
TOutputMessage OUT_FMT_SIMULATION_HEADER
Output message.