benchmarks Package

bench Module

Common code for Fireworks benchmarks.

See bench_scaling.py for example usage.

Will log to stderr at default level of WARN. To increase logging level, set env var FW_BENCH_{INFO,DEBUG}. To turn off all logging, set FW_BENCH_QUIET.

class fireworks.benchmarks.bench.Benchmark(vb=0, basedir=None)

Bases: object

__init__(vb=0, basedir=None)
cleanup()
database = 'fireworks_bench'
get_workflow(n, task_class=None, deps='sequence')

Create a workflow with ‘n’ tasks.

Parameters:
  • n (int, >= 1) – Number of tasks
  • task_class – Task class or use self.task_class
  • deps (str) –

    Type of dependencies “sequence” - No dependencies between tasks. “reduce” - The last task depends on all previous ones. “complex” - Dependencies are structured so that the second task

    depends on the first, and every task after the second depends on the two previous ones.
load(wf)
log = <logging.Logger object at 0x106ca8ed0>
reset()
run(np)
task_class

alias of BenchmarkTask

class fireworks.benchmarks.bench.BenchmarkTask(*args, **kwargs)

Bases: fireworks.core.firework.FireTaskBase

run_task(fw_spec)

bench_scaling Module

Simple scaling study.

fireworks.benchmarks.bench_scaling.get_client()
fireworks.benchmarks.bench_scaling.init_results(filename)

Create and return result DB connection.

fireworks.benchmarks.bench_scaling.insert_result(db, action, tasks, workflows, deps, t0, t1)

Insert one result into DB.

fireworks.benchmarks.bench_scaling.load(bench, tasks, workflows, deps, db)
fireworks.benchmarks.bench_scaling.main()
fireworks.benchmarks.bench_scaling.run(bench, tasks, workflows, deps, np, db)

Table Of Contents

This Page