Commit db2c8887 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

Merge branch 'python-script-portability' into collected-post-stable-patches

parents ee82143a e5c555fa
Loading
Loading
Loading
Loading
+9 −36
Original line number Diff line number Diff line
@@ -6,34 +6,8 @@

from __future__ import print_function
import sys,os,subprocess

# help message

help = """
Syntax from src dir: make lib-libname args="-m machine -e suffix"
Syntax from lib dir: python Install.py -m machine -e suffix

libname = name of lib dir (e.g. atc, h5md, meam, poems, etc)
specify -m and optionally -e, order does not matter

  -m = peform a clean followed by "make -f Makefile.machine"
       machine = suffix of a lib/Makefile.* file
  -e = set EXTRAMAKE variable in Makefile.machine to Makefile.lammps.suffix
       does not alter existing Makefile.machine

Examples:

make lib-poems args="-m serial" # build POEMS lib with same settings as in the serial Makefile in src
make lib-colvars args="-m mpi"  # build USER-COLVARS lib with same settings as in the mpi Makefile in src
make lib-meam args="-m ifort"   # build MEAM lib with custom Makefile.ifort (using Intel Fortran)
"""

# print error message or help

def error(str=None):
  if not str: print(help)
  else: print("ERROR",str)
  sys.exit()
sys.path.append('..')
from install_helpers import error,get_cpus

# parse args

@@ -83,17 +57,16 @@ for line in lines:
fp.close()

# make the library via Makefile.auto optionally with parallel make

try:
  import multiprocessing
  n_cpus = multiprocessing.cpu_count()
except:
  n_cpus = 1
n_cpus = get_cpus()

print("Building lib%s.a ..." % lib)
cmd = "make -f Makefile.auto clean; make -f Makefile.auto -j%d" % n_cpus
try:
  txt = subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT)
  print(txt.decode('UTF-8'))
except subprocess.CalledProcessError as e:
    print("Make failed with:\n %s" % e.output.decode('UTF-8'))
    sys.exit(1)

if os.path.exists("lib%s.a" % lib): print("Build was successful")
else: error("Build of lib/%s/lib%s.a was NOT successful" % (lib,lib))
+14 −20
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@

from __future__ import print_function
import sys,os,subprocess
sys.path.append('..')
from install_helpers import error,get_cpus

# help message

@@ -24,18 +26,11 @@ Examples:
make lib-colvars args="-m mpi"     # build COLVARS lib with default mpi compiler wrapper
"""

# print error message or help

def error(str=None):
  if not str: print(help)
  else: print("ERROR",str)
  sys.exit()

# parse args

args = sys.argv[1:]
nargs = len(args)
if nargs == 0: error()
if nargs == 0: error(help=help)

machine = None
extraflag = False
@@ -43,15 +38,15 @@ extraflag = False
iarg = 0
while iarg < nargs:
  if args[iarg] == "-m":
    if iarg+2 > len(args): error()
    if iarg+2 > len(args): error(help=help)
    machine = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-e":
    if iarg+2 > len(args): error()
    if iarg+2 > len(args): error(help=help)
    extraflag = True
    suffix = args[iarg+1]
    iarg += 2
  else: error()
  else: error(help=help)

# set lib from working dir

@@ -124,17 +119,16 @@ fp.close()

# make the library via Makefile.auto optionally with parallel make

try:
  import multiprocessing
  n_cpus = multiprocessing.cpu_count()
except:
  n_cpus = 1
n_cpus = get_cpus()

print("Building lib%s.a ..." % lib)
cmd = ["make -f Makefile.auto clean"]
print(subprocess.check_output(cmd, shell=True).decode('UTF-8'))
cmd = ["make -f Makefile.auto -j%d" % n_cpus]
print(subprocess.check_output(cmd, shell=True).decode('UTF-8'))
cmd = ["make -f Makefile.auto clearn; make -f Makefile.auto -j%d" % n_cpus]
try:
  txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True);
  print(txt.decode('UTF-8'))
except subprocess.CalledProcessError as e:
  print("Make failed with:\n %s" % e.output.decode('UTF-8'))
  sys.exit(1)       

if os.path.exists("lib%s.a" % lib): print("Build was successful")
else: error("Build of lib/%s/lib%s.a was NOT successful" % (lib,lib))
+0 −234
Original line number Diff line number Diff line
$(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
 colvarparse.h colvaratoms.h colvardeps.h
$(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \
 colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarbias_abf.h colvarbias.h colvargrid.h colvar_UIestimator.h
$(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \
 colvars_version.h colvarbias.h colvar.h colvarvalue.h colvartypes.h \
 colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarbias_alb.h
$(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvarbias.h \
 colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvargrid.h
$(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \
 colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
 colvarvalue.h colvar.h colvarparse.h colvardeps.h \
 lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarbias_histogram.h colvarbias.h colvargrid.h
$(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \
 colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarbias_meta.h colvarbias.h colvargrid.h
$(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \
 colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \
 colvarvalue.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \
 colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h
$(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \
 colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \
 colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h
$(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \
 colvarmodule.h colvars_version.h colvarparse.h colvarvalue.h \
 colvartypes.h colvaratoms.h colvarproxy.h colvardeps.h colvar.h \
 lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h
$(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \
 colvars_version.h colvarvalue.h colvartypes.h colvar.h colvarparse.h \
 colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h
$(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \
 colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
 colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h
$(COLVARS_OBJ_DIR)colvarcomp_protein.o: colvarcomp_protein.cpp \
 colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
 colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h
$(COLVARS_OBJ_DIR)colvarcomp_rotations.o: colvarcomp_rotations.cpp \
 colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
 colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h
$(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \
 colvarvalue.h colvartypes.h colvarparse.h colvar.h colvardeps.h \
 lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h colvarscript.h colvarbias.h
$(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvardeps.h \
 colvarparse.h
$(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \
 colvars_version.h colvarvalue.h colvartypes.h colvarparse.h colvar.h \
 colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarcomp.h colvaratoms.h colvarproxy.h colvargrid.h
$(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \
 colvars_version.h colvarparse.h colvarvalue.h colvartypes.h \
 colvarproxy.h colvar.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarbias.h colvarbias_abf.h colvargrid.h colvar_UIestimator.h \
 colvarbias_alb.h colvarbias_histogram.h colvarbias_meta.h \
 colvarbias_restraint.h colvarscript.h colvaratoms.h colvarcomp.h
$(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \
 colvars_version.h colvarvalue.h colvartypes.h colvarparse.h
$(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \
 colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \
 colvarscript.h colvarbias.h colvar.h colvarparse.h colvardeps.h \
 lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvaratoms.h
$(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarscript.h \
 colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \
 colvarbias.h colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \
 lepton/include/lepton/CompiledExpression.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/windowsIncludes.h \
 lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/ExpressionProgram.h \
 lepton/include/lepton/ExpressionTreeNode.h \
 lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \
 lepton/include/lepton/Exception.h \
 lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \
 colvarproxy.h
$(COLVARS_OBJ_DIR)colvartypes.o: colvartypes.cpp colvarmodule.h \
 colvars_version.h colvartypes.h colvarparse.h colvarvalue.h
$(COLVARS_OBJ_DIR)colvarvalue.o: colvarvalue.cpp colvarmodule.h \
 colvars_version.h colvarvalue.h colvartypes.h
+19 −18
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@

from __future__ import print_function
import sys,os,subprocess
sys.path.append('..')
from install_helpers import error,get_cpus

# help message

@@ -51,18 +53,11 @@ make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk
make lib-gpu args="-m mpi -a sm_35 -p single -o mpi.mixed -b" # create new Makefile.mpi.mixed, also build GPU lib with these settings
"""

# print error message or help

def error(str=None):
  if not str: print(help)
  else: print("ERROR",str)
  sys.exit()

# parse args

args = sys.argv[1:]
nargs = len(args)
if nargs == 0: error()
if nargs == 0: error(help=help)

isuffix = "linux"
hflag = aflag = pflag = eflag = 0
@@ -72,26 +67,26 @@ outflag = 0
iarg = 0
while iarg < nargs:
  if args[iarg] == "-m":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    isuffix = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-h":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    hflag = 1
    hdir = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-a":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    aflag = 1
    arch = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-p":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    pflag = 1
    precision = args[iarg+1]
    iarg += 2
  elif args[iarg] == "-e":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    eflag = 1
    lmpsuffix = args[iarg+1]
    iarg += 2
@@ -99,11 +94,11 @@ while iarg < nargs:
    makeflag = 1
    iarg += 1
  elif args[iarg] == "-o":
    if iarg+2 > nargs: error()
    if iarg+2 > nargs: error(help=help)
    outflag = 1
    osuffix = args[iarg+1]
    iarg += 2
  else: error()
  else: error(help=help)

if pflag:
  if precision == "double": precstr = "-D_DOUBLE_DOUBLE"
@@ -145,9 +140,15 @@ if makeflag:
  print("Building libgpu.a ...")
  if os.path.exists("libgpu.a"):
    os.remove("libgpu.a")
  cmd = "make -f Makefile.auto clean; make -f Makefile.auto"
  n_cpus = get_cpus()
  cmd = "make -f Makefile.auto clean; make -f Makefile.auto -j%d" % n_cpus
  try:
    txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
    print(txt.decode('UTF-8'))
  except subprocess.CalledProcessError as e:
    print("Make failed with:\n %s" % e.output.decode('UTF-8'))
    sys.exit(1)

  if not os.path.exists("libgpu.a"):
    error("Build of lib/gpu/libgpu.a was NOT successful")
  if not os.path.exists("Makefile.lammps"):
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE

CUDA_INCLUDE = -I$(CUDA_HOME)/include
CUDA_LIB = -L$(CUDA_HOME)/lib64
CUDA_OPTS = -DUNIX -O3 -Xptxas -v --use_fast_math $(LMP_INC) -Xcompiler -fPIC
CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC

CUDR_CPP = mpicxx -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC
CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias
Loading