dolfinx.common
General tools for timing and configuration
Functions
|
Print out a summary of all Timer measurements, with a choice of wall time, system time or user time. |
|
Decorator for timing functions. |
|
Classes
|
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
- comm(self: dolfinx.cpp.common.IndexMap, arg0: dolfinx.cpp.common.Direction) MPICommWrapper
Return MPI communicator
- create_submap(self: dolfinx.cpp.common.IndexMap, arg0: numpy.ndarray[numpy.int32]) Tuple[dolfinx.cpp.common.IndexMap, numpy.ndarray[numpy.int32]]
- ghost_owners(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])