def run_asv(dirs, cmd): EXTRA_PATH = [ '/usr/lib/ccache', '/usr/lib/f90cache', '/usr/local/lib/ccache', '/usr/local/lib/f90cache' ] bench_dir = dirs.root / 'benchmarks' sys.path.insert(0, str(bench_dir)) # Always use ccache, if installed env = dict(os.environ) env['PATH'] = os.pathsep.join(EXTRA_PATH + env.get('PATH', '').split(os.pathsep)) # Control BLAS/LAPACK threads env['OPENBLAS_NUM_THREADS'] = '1' env['MKL_NUM_THREADS'] = '1' # Limit memory usage from benchmarks.common import set_mem_rlimit try: set_mem_rlimit() except (ImportError, RuntimeError): pass try: return subprocess.call(cmd, env=env, cwd=bench_dir) except OSError as err: if err.errno == errno.ENOENT: cmd_str = " ".join(cmd) print(f"Error when running '{cmd_str}': {err}\n") print("You need to install Airspeed Velocity " "(https://airspeed-velocity.github.io/asv/)") print("to run Scipy benchmarks") return 1 raise
def run_asv(cmd): cwd = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'benchmarks') # Always use ccache, if installed env = dict(os.environ) env['PATH'] = os.pathsep.join(EXTRA_PATH + env.get('PATH', '').split(os.pathsep)) # Control BLAS/LAPACK threads env['OPENBLAS_NUM_THREADS'] = '1' env['MKL_NUM_THREADS'] = '1' # Limit memory usage sys.path.insert(0, cwd) from benchmarks.common import set_mem_rlimit try: set_mem_rlimit() except (ImportError, RuntimeError): pass # Run try: return subprocess.call(cmd, env=env, cwd=cwd) except OSError as err: if err.errno == errno.ENOENT: print("Error when running '%s': %s\n" % ( " ".join(cmd), str(err), )) print( "You need to install Airspeed Velocity (https://airspeed-velocity.github.io/asv/)" ) print("to run Scipy benchmarks") return 1 raise
def run_asv(args): cwd = os.path.abspath(os.path.dirname(__file__)) repo_dir = os.path.join(cwd, 'scipy') cmd = ['asv'] + list(args) env = dict(os.environ) # Inject ccache/f90cache paths if sys.platform.startswith('linux'): env['PATH'] = os.pathsep.join(EXTRA_PATH + env.get('PATH', '').split(os.pathsep)) # Control BLAS and CFLAGS env['OPENBLAS_NUM_THREADS'] = '1' env['CFLAGS'] = drop_bad_flags(sysconfig.get_config_var('CFLAGS')) # Limit memory usage try: set_mem_rlimit() except (ImportError, RuntimeError): pass # Check scipy version if in dev mode; otherwise clone and setup results # repository if args and (args[0] == 'dev' or '--python=same' in args): import scipy print("Running benchmarks for Scipy version %s at %s" % (scipy.__version__, scipy.__file__)) # Override gh-pages if 'gh-pages' in args: print("gh-pages command is disabled") return 1 # Run try: return subprocess.call(cmd, env=env, cwd=cwd) except OSError as err: if err.errno == errno.ENOENT: print("Error when running '%s': %s\n" % ( " ".join(cmd), str(err), )) print( "You need to install Airspeed Velocity https://airspeed-velocity.github.io/asv/" ) print("to run Scipy benchmarks") return 1 raise
def run_asv(args): cwd = os.path.abspath(os.path.dirname(__file__)) repo_dir = os.path.join(cwd, 'scipy') cmd = ['asv'] + list(args) env = dict(os.environ) # Inject ccache/f90cache paths if sys.platform.startswith('linux'): env['PATH'] = os.pathsep.join(EXTRA_PATH + env.get('PATH', '').split(os.pathsep)) # Control BLAS and CFLAGS env['OPENBLAS_NUM_THREADS'] = '1' env['CFLAGS'] = drop_bad_flags(sysconfig.get_config_var('CFLAGS')) # Limit memory usage try: set_mem_rlimit() except (ImportError, RuntimeError): pass # Check scipy version if in dev mode; otherwise clone and setup results # repository if args and (args[0] == 'dev' or '--python=same' in args): import scipy print("Running benchmarks for Scipy version %s at %s" % (scipy.__version__, scipy.__file__)) # Override gh-pages if 'gh-pages' in args: print("gh-pages command is disabled") return 1 # Run try: return subprocess.call(cmd, env=env, cwd=cwd) except OSError as err: if err.errno == errno.ENOENT: print("Error when running '%s': %s\n" % (" ".join(cmd), str(err),)) print("You need to install Airspeed Velocity https://spacetelescope.github.io/asv/") print("to run Scipy benchmarks") return 1 raise
def run_asv(args, current_repo=False): cwd = os.path.abspath(os.path.dirname(__file__)) if current_repo: try: from asv.util import load_json, write_json conf = load_json(os.path.join(cwd, 'asv.conf.json')) conf['repo'] = os.path.normpath(os.path.join(cwd, '..')) cfg_fn = os.path.join(cwd, '.asvconf.tmp') write_json(cfg_fn, conf) args = ['--config', cfg_fn] + args except ImportError: pass repo_dir = os.path.join(cwd, 'scipy') if is_git_repo_root(repo_dir): if current_repo: url = os.path.normpath(os.path.join(cwd, '..')) else: url = "https://github.com/scipy/scipy.git" subprocess.call(['git', 'remote', 'set-url', "origin", url], cwd=repo_dir) cmd = ['asv'] + list(args) env = dict(os.environ) # Inject ccache/f90cache paths if sys.platform.startswith('linux'): env['PATH'] = os.pathsep.join(EXTRA_PATH + env.get('PATH', '').split(os.pathsep)) # Control BLAS and CFLAGS env['OPENBLAS_NUM_THREADS'] = '1' env['CFLAGS'] = drop_bad_flags(sysconfig.get_config_var('CFLAGS')) # Limit memory usage try: set_mem_rlimit() except (ImportError, RuntimeError): pass # Check scipy version if in dev mode; otherwise clone and setup results # repository if args and (args[0] == 'dev' or '--python=same' in args): import scipy print("Running benchmarks for Scipy version %s at %s" % (scipy.__version__, scipy.__file__)) # Override gh-pages if 'gh-pages' in args: print("gh-pages command is disabled") return 1 # Run try: return subprocess.call(cmd, env=env, cwd=cwd) except OSError as err: if err.errno == 2: print("Error when running '%s': %s\n" % (" ".join(cmd), str(err),)) print("You need to install Airspeed Velocity https://spacetelescope.github.io/asv/") print("to run Scipy benchmarks") return 1 raise