Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Improving command line parsing  #150

@pramodk

Description

@pramodk

Currently we use http://ezoptionparser.sourceforge.net for command line arguments. This leads to large number of global options :

/path/to/isntall/directory/coreneuron_exec --help
-b, --spikebuf ARG          Spike buffer size. (100000)
-c, --threading             Parallel threads. The default is serial threads.
-d, --datpath ARG           Path containing CoreNeuron data files. (.)
-dt, --dt ARG               Fixed time step. The default value is set by
                            defaults.dat or is 0.025.
-e, --tstop ARG             Stop time (ms). (100)
-f, --filesdat ARG          Name for the distribution file. (files.dat)
-g, --prcellgid ARG         Output prcellstate information for the gid NUMBER.
-gpu, --gpu                 Enable use of GPUs. The default implies cpu only
                            run.
-h, --help                  Print a usage message briefly summarizing these
                            command-line options, then exit.
-k, --forwardskip ARG       Forwardskip to TIME
-l, --celsius ARG           Temperature in degC. The default value is set in
                            defaults.dat or else is 34.0.
-mpi                        Enable MPI. In order to initialize MPI environment
                            this argument must be specified.
-o, --outpath ARG           Path to place output data files. (.)
-p, --pattern ARG           Apply patternstim using the specified spike file.
-R, --cell-permute ARG      Cell permutation, 0 No; 1 optimise node adjacency; 2
                            optimize parent adjacency. (1)
-s, --seed ARG              Initialization seed for random number generator
                            (int).
-v, --voltage ARG           Initial voltage used for nrn_finitialize(1, v_init).
                            If 1000, then nrn_finitialize(0,...). (-65.)
-W, --nwarp ARG             Number of warps to balance. (0)
-x, --extracon ARG          Number of extra random connections in each thread to
                            other duplicate models (int).
--binqueue                  Use bin queue.
--checkpoint ARG            Enable checkpoint and specify directory to store
                            related files.
--mindelay ARG              Maximum integration interval (likely reduced by
                            minimum NetCon delay). (10)
--ms-phases ARG             Number of multisend phases, 1 or 2. (2)
--ms-subintervals ARG       Number of multisend subintervals, 1 or 2. (2)
--multisend                 Use Multisend spike exchange instead of Allgather.
--read-config ARG           Read configuration file filename.
--restore ARG               Restore simulation from provided checkpoint
                            directory.
--show                      Print args.
--skip-mpi-finalize         Do not call mpi finalize.
--spkcompress ARG           Spike compression. Up to ARG are exchanged during
                            MPI_Allgather. (0)
--write-config ARG          Write configuration file filename.

May be this can be improved with : https://github.com/CLIUtils/CLI11 ?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions