ComputationalRadiationPhysics / haseongpu

HASEonGPU: High performance Amplified Spontaneous Emission on GPU
http://www.hzdr.de/crp
Other
7 stars 5 forks source link

Parse command-line parameters with boost program options #15

Closed slizzered closed 9 years ago

slizzered commented 10 years ago

Boost program options ftw!

This will also define a syntax for a possible config file, see #10

Multiple steps are necessary:

slizzered commented 10 years ago

development of this feature can be tracked here for now: https://github.com/slizzered/haseongpu/commits/issue15-boost_program_options

slizzered commented 10 years ago

current proposal: (short forms are only for the more common options) good short forms for --min-rays and --max-rays would be needed.....

Long Short Use Meaning
--help -h print the help
--verbosity -v --verbosity= define the verbosity (has a default)
--device-mode --device-mode=(cpu|gpu) defines on which hardware the calculation is performed
--parallel-mode --parallel-mode=(mpi|threaded) defines if threaded mode or MPI mode us used *
--reflection --reflection=(1|0) use reflections or not *
--min-rays --min-rays=N the minimum number of rays for the adaptive steps
--max-rays --max-rays=N the maximum number of rays for the adaptive steps *
--input-path -i --input-path= the location of the input files (defaults to ./input)
--output-path -o --output-path= the location of the output files (defaults to ./output)
--ngpus -g --ngpus=N the number of GPUs to use (can be less, if less are available. This will print a warning. Defaults to 1 *
--min-sample-i --min-sample-i=N the index of the first sample point to process (in a range to --max-sample-i). Defaults to 0 *
--max-sample-i --max-sample-i=N the index of the last sample point to process (in a range from --min-sample-i). Defaults to the maximal index of the mesh *
--mse-threshold -m --mse-threshold=N The MSE threshold that is used to stop adaptive sampling (defaults to 0.1, which is pretty high) *
--spectral-resolution --spectral-resolution=N The number of points used to interpolate the intensities for the laser spectrum. N must be at least as high as the number of data points for the spectrum. Defaults to the number of data points for the spectrum *
--repetitions -r --repetitions=N The number of retries for repetitive sampling (defaults to 4, which is a good default) *
--adaptive-steps -a --adaptive-steps=N THIS IS NOT TO BE IMPLEMENTED NOW *

*\ This option is not** valid in combination with --device-mode=cpu

--write-vtk and --compare are cancelled for now.

Any constructive criticism is welcome

erikzenker commented 10 years ago

Very good, would do it the same :ghost: