bempp.api.utils.remote_operator
¶
Implementation of MPI based remote operators.
Module Contents¶
Classes¶
Messages for remote workers. |
|
Manage remote worker execution. |
|
Define a remote blocked operator. |
|
Implementation of a discrete blocked boundary operator. |
Functions¶
Initialize remote manager. |
Attributes¶
- bempp.api.utils.remote_operator.MPI_SIZE¶
- bempp.api.utils.remote_operator.MPI_RANK¶
- bempp.api.utils.remote_operator.COMM¶
- bempp.api.utils.remote_operator._REMOTE_MANAGER¶
- class bempp.api.utils.remote_operator.Message(status, operator_tag=None, is_complex=False, nelements=None)¶
Messages for remote workers.
- class bempp.api.utils.remote_operator.RemoteManager¶
Manage remote worker execution.
- property tags¶
Return tags.
- register(op)¶
Register operator for remote execution.
- execute_worker()¶
Execute on workers.
- send_data(msg, dest, operator_tag=None, data=None)¶
Send data to destination rank.
- send_error(msg, operator_tag)¶
Send error message to master.
- receive_data(source)¶
Receive data.
- submit_computation(op, x)¶
Submit computation to operator.
- receive_result(op)¶
Receive result from a specific operator.
- assemble(op)¶
Assemble a given remote operator.
- barrier()¶
Use barrier operation for workers.
- get_operator_dtype(tag)¶
Get dtype of remote operator.
- shutdown()¶
Shutdown all workers.
- _group_by_rank(tags)¶
Group tags by for parallel computation.
Given a list of tags (with possible repetitions). Return a list of list of positions in the tags list that is sorted so that each sublist does not have repeating ranks. This allows to distribute the computations effectively on the ranks.
- assemble_parallel(ops)¶
Assemble a list of operators in parallel.
- bempp.api.utils.remote_operator.get_remote_manager()¶
Initialize remote manager.
- class bempp.api.utils.remote_operator.RemoteBlockedOperator(m, n)¶
Bases:
bempp.api.assembly.blocked_operator.BlockedOperator
Define a remote blocked operator.
- _assemble()¶
Assemble the operator.
- class bempp.api.utils.remote_operator.RemoteBlockedDiscreteOperator(ops)¶
Bases:
bempp.api.assembly.discrete_boundary_operator._DiscreteOperatorBase
Implementation of a discrete blocked boundary operator.
- abstract property A¶
Return as dense Numpy array.
- row_dimensions¶
- column_dimensions¶
- __getitem__(key)¶
Return the object at position (i, j).
- _get_shape(op)¶
Get shape of boundary operator.
- _fill_complete()¶
Check if the fill is complete.
- _matvec(x)¶
Perform matrix vector multiplication.
- _get_row_dimensions()¶
Return the number of rows.
- _get_column_dimensions()¶
Return the number of columns.
- abstract _transpose()¶
Implement the transpose.
- abstract _adjoint()¶
Implement the adjoint.