Commit a6a2dffc authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Merge branch 'configure_options' into 'master'

Configure options

See merge request giacomo.mulas/np_tmcode!81
parents a0a06219 5038964f
Loading
Loading
Loading
Loading
+70 −49
Original line number Diff line number Diff line
@@ -73,18 +73,25 @@ function print_help {
    echo "Use this script to detect the proper build configuration for your system.        "
    echo "Valid options are:                                                               "
    echo "                                                                                 "
    echo "--enable-fortran                  Enable FORTRAN compilation (DEFAULT).          "
    echo "--disable-fortran                 Disable FORTRAN compilation.                   "
    echo "--enable-gdb                      Enable GNU debugger (DEFAULT).                 "
    echo "--disable-gdb                     Disable GNU debugger.                          "
    echo "--enable-ilp64                    Enable 64-bit integers (DEFAULT).              "
    echo "--disable-ilp64                   Disable 64-bit integers.                       "
    echo "--enable-offload                  Enable GPU offloading (DEFAULT).               "
    echo "--disable-offload                 Disable GPU offloading.                        "
    echo "--enable-openmp                   Enable OpenMP multi-threading (DEFAULT).       "
    echo "--disable-openmp                  Disable OpenMP multi-threading.                "
    echo "--enable-debug=FEATURE            Enable debug output of specified feature.      "
    echo "--enable-fortran          Enable FORTRAN compilation (DEFAULT).           "
    echo "--enable-nvtx                     Enable NVTX profiling tools.                   "
    echo "--enable-openmp           Enable OpenMP multi-threading (DEFAULT).        "
    echo "--disable-nvtx                    Disable NVTX profiling tools (DEFAULT).        "
    echo "--enable-optimize=OPT             Use OPT-level compiler optimization.           "
    echo "--enable-refinement               Use iterative refinement of matrix inversion.  "
    echo "--disable-refinement              Do not iterate refinement of matrix inversion  "
    echo "                                  (DEFAULT).                                     "
    echo "--enable-shared                   Use shared libraries (default is static).      "
    echo "--disable-shared                  Use static libraries (DEFAULT).                "
    echo "--help                            Print this help and exit.                      "
    echo "--with-cublas                     Use cuBLAS (DEFAULT).                          "
    echo "--without-cublas                  Disable cuBLAS.                                "
@@ -95,11 +102,12 @@ function print_help {
    echo "                                  than once).                                    "
    echo "--with-lapack                     Use LAPACK (DEFAULT).                          "
    echo "--without-lapack                  Disable LAPACK.                                "
    echo "--with-ldflags=[PATH]     Use additional linker LDFLAGS (can be given more"
    echo "                          than once).                                     "
    echo "--with-ldflags=[PATH]             Use additional linker LDFLAGS (can be given    "
    echo "                                  more than once).                               "
    echo "--with-magma=[MAGMA]              Use specified MAGMA distribution (DEFAULT).    "
    echo "--without-magma                   Disable MAGMA.                                 "
    echo "--enable-magma-invert=OPTION      Use specified MAGMA matrix inversion function (options = auto|getri|gesv|rbt, default getri).     "
    echo "--enable-magma-invert=OPTION      Use specified MAGMA matrix inversion function  "
    echo "                                  (options = auto|getri|gesv|rbt, default getri)."
    echo "                                                                                 "
    echo "Some influential environment variables are:                                      "
    echo "                                                                                 "
@@ -143,16 +151,27 @@ do
    if [ "x$cut_arg" = "x--help" ]; then
	print_help | less
	exit 0
    elif [ "x$cut_arg" = "x--enable-gdb" ]; then
	FC_DBG=" -ggdb"
	CXX_DBG=" -ggdb"
    elif [ "x$cut_arg" = "x--disable-gdb" ]; then
	FC_DBG=""
	CXX_DBG=""
    elif [ "x$cut_arg" = "x--enable-ilp64" ]; then
	ENABLE_ILP64="yes"
    elif [ "x$cut_arg" = "x--disable-ilp64" ]; then
	ENABLE_ILP64="no"
    elif [ "x$cut_arg" = "x--enable-fortran" ]; then
	BUILDFORTRAN="yes"
    elif [ "x$cut_arg" = "x--disable-fortran" ]; then
	FC="none"
	BUILDFORTRAN="no"
    elif [ "x$cut_arg" = "x--enable-offload" ]; then
	OFFLOAD="auto"
    elif [ "x$cut_arg" = "x--disable-offload" ]; then
	OFFLOAD="no"
    elif [ "x$cut_arg" = "x--enable-openmp" ]; then
	OMPMODE="yes"
    elif [ "x$cut_arg" = "x--disable-openmp" ]; then
	OMPMODE="no"
    elif [ "x$cut_arg" = "x--enable-debug" ]; then
@@ -167,12 +186,10 @@ do
		DEBUGFLAGS="${DEBUGFLAGS} -DDEBUG_${dbg_feature}"
	    fi
	fi
    elif [ "x$cut_arg" = "x--enable-fortran" ]; then
	BUILDFORTRAN="yes"
    elif [ "x$cut_arg" = "x--enable-nvtx" ]; then
	NVTXFLAGS=" -DUSE_NVTX"
    elif [ "x$cut_arg" = "x--enable-openmp" ]; then
	OMPMODE="yes"
    elif [ "x$cut_arg" = "x--disable-nvtx" ]; then
	NVTXFLAGS=""
    elif [ "x$cut_arg" = "x--enable-optimize" ]; then
	opt_level=$(echo $arg | cut -d '=' -f2)
	if [ $opt_level -lt 0 -o $opt_level -gt 3 ]; then
@@ -183,8 +200,12 @@ do
	CXX_OPT=$opt_level
    elif [ "x$cut_arg" = "x--enable-refinement" ]; then
	REFINEFLAGS=" -DUSE_REFINEMENT"
    elif [ "x$cut_arg" = "x--disable-refinement" ]; then
	REFINEFLAGS=""
    elif [ "x$cut_arg" = "x--enable-shared" ]; then
	LIBMODE="shared"
    elif [ "x$cut_arg" = "x--disable-shared" ]; then
	LIBMODE="static"
    elif [ "x$cut_arg" = "x--with-cublas" ]; then
	CUBLAS="yes"
    elif [ "x$cut_arg" = "x--without-cublas" ]; then
+8 −2
Original line number Diff line number Diff line
@@ -51,7 +51,13 @@ number_reg = re.compile(r'-?[0-9]\.[0-9]+E?[-+][0-9]{2,5}')
#
# \returns errors: `int` Number of detected error-level inconsistencies.
def main():
    config = {}
    try:
        config = parse_arguments()
    except ValueError as ex:
        print(ex)
        print("\nType \"pycompare.py --help\" to get more detailed help.")
        exit(1)
    errors, warnings, noisy = (0, 0, 0)
    if config['help_mode'] or len(argv) == 1:
        config['help_mode'] = True
@@ -527,7 +533,7 @@ def parse_arguments():
        elif (arg.startswith("--warn")):
            config['warning_threshold'] = float(split_arg[1])
        else:
            raise Exception("Unrecognized argument \'{0:s}\'".format(arg))
            raise ValueError("Unrecognized argument \'{0:s}\'".format(arg))
        arg_index += 1
    return config