dolfinx.common

General tools for timing and configuration

Functions

list_timings(comm, timing_types[, reduction])

Print out a summary of all Timer measurements, with a choice of wall time, system time or user time.

timed(task)

Decorator for timing functions.

timing(task)

Classes

Timer([name])

A timer can be used for timing tasks. The basic usage is::.

class dolfinx.common.IndexMap(self: dolfinx.cpp.common.IndexMap, arg0: MPICommWrapper, arg1: int, arg2: List[int], arg3: List[int], arg4: List[int]) None

Bases: pybind11_builtins.pybind11_object

create_submap(self: dolfinx.cpp.common.IndexMap, arg0: numpy.ndarray[numpy.int32]) Tuple[dolfinx.cpp.common.IndexMap, numpy.ndarray[numpy.int32]]
ghost_owner_rank(self: dolfinx.cpp.common.IndexMap) numpy.ndarray[numpy.int32]

Return owning process for each ghost index

property ghosts

Return list of ghost indices

global_indices(self: dolfinx.cpp.common.IndexMap) List[int]
property local_range

Range of indices owned by this map

local_to_global(self: dolfinx.cpp.common.IndexMap, arg0: numpy.ndarray[numpy.int32]) numpy.ndarray[numpy.int64]
property num_ghosts
property size_global
property size_local
class dolfinx.common.ScatterMode(self: dolfinx.cpp.common.ScatterMode, value: int) None

Bases: pybind11_builtins.pybind11_object

Members:

add

insert

add = <ScatterMode.add: 1>
insert = <ScatterMode.insert: 0>
property name
property value
class dolfinx.common.Timer(name: Optional[str] = None)[source]

Bases: object

A timer can be used for timing tasks. The basic usage is:

with Timer("Some costly operation"):
    costly_call_1()
    costly_call_2()

or:

with Timer() as t:
    costly_call_1()
    costly_call_2()
    print("Ellapsed time so far: %s" % t.elapsed()[0])

The timer is started when entering context manager and timing ends when exiting it. It is also possible to start and stop a timer explicitly by:

t = Timer("Some costly operation")
t.start()
costly_call()
t.stop()

and retrieve timing data using:

t.elapsed()

Timings are stored globally (if task name is given) and may be printed using functions timing, timings, list_timings, dump_timings_to_xml, e.g.:

list_timings(comm, [TimingType.wall, TimingType.user])
elapsed()[source]
resume()[source]
start()[source]
stop()[source]
dolfinx.common.timed(task: str)[source]

Decorator for timing functions.