forked from cdslaborg/paramonte
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh.usage.txt
68 lines (58 loc) · 4.71 KB
/
install.sh.usage.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
usage:
./install.sh \
-L <build library for: C Fortran MATLAB Python> \
-s <compiler suite: intel gnu> \
-b <build mode: release testing debug> \
-l <library type: static dynamic> \
-p <parallelism type: none mpi cafsingle cafshared cafdistributed> \
-m <memory allocation type: stack heap>
-t <ParaMonte test run enabled: true false>
-x <ParaMonte example run enabled: true false>
-f <path to Fortran compiler>
-M <path to mpiexec>
-F <purge the existing prerequisite library installations and perform a fresh installation>
-y <assume yes as answer to all installation permission inquiries>
-B <perform GCC bootstrap installation>
-n <default number of processors for parallel application>
-h <help on the script usage>
example:
./install.sh -L "Python C" -b "release debug" -l dynamic -p "none mpi" -m heap -n 3
or equivalently,
./install.sh --lang "Python C" --build "release debug" --lib dynamic --par "none mpi" --mem heap --nproc 3
flag definitions:
-L | --lang : the ParaMonte library interface language(case-insensitive): C Fortran MATLAB Python
the ParaMonte library will be built for usage from the user-specified languages.
the default is "C Fortran MATLAB Python".
-s | --compiler_suite : the ParaMonte library build compiler suite: intel, gnu
If you are not sure whether you have any of the two installed on your system,
leave this option out. The script will automatically search for the appropriate
compilers and libraries. If they are not found, it will ask for your permission
to install the missing components.
-b | --build : the ParaMonte library build type: release, testing, debug
the default is "release testing debug".
-l | --lib : the ParaMonte library type: static, dynamic
the default is "dynamic static" for C/C++/Fortran languages and "dynamic" for MATLAB/Python.
-m | --mem : the ParaMonte library memory allocation type for arrays: stack, heap
the default is "stack heap" resulting in builds for both stack and heap memory allocations.
-p | --par : the ParaMonte library parallelism type: none mpi cafsingle cafshared cafdistributed
the default is all parallelism options resulting in serial, MPI, and Coarray-parallel library builds.
-t | --test_enabled : the ParaMonte library test run enabled?: true, false
the default is true.
-x | --exam_enabled : the ParaMonte library examples run enabled?: true, false
the default is true.
-f | --fortran : path to Fortran compiler. If provided, the ParaMonte library will be built via the specified compiler.
the default will be automatically determined.
-M | --mpiexec : path to mpiexec routine. If provided, it will be used to find the MPI library.
the default will be automatically determined.
-F | --fresh : enables a fresh installation of all of the prerequisites of ParaMonte library. Applicable only to GNU compiler suite.
-y | --yes-to-all : if a fresh installation of all of the prerequisites is needed, automatically answer yes to all permission requests.
-B | --bootstrap : enables robust bootstrap build when building the required GCC version with an old GCC version. Applicable only to GNU compiler suite.
-n | --nproc : the default number of processes (coarray images) on which the ParaMonte examples/tests (if any) will be run: positive integer
If not provided, 3 will be used.
-h | --help : help with the script usage
NOTE: All flags are optional.
NOTE: If you specify multiple options for any flag, you must enclose all options together with quotation marks "".
NOTE: Some flags conflict with each other:
NOTE: The flag -m cafsingle or -m cafshared or -m cafdistributed cannot be specified with -L C or -L MATLAB or -L Python.
NOTE: The flag -m cafsingle or -m cafshared or -m cafdistributed cannot be specified with -l dynamic (dynamically-linked library).
NOTE: The flag -m stack (stack memory allocation) cannot be specified with -L MATLAB or -L Python.