katgpucbf.xbgpu.main module
Module to launch the XB-Engine.
This module parses all command line arguments required to configure the XB-Engine and creates an XBEngine object. The XBEngine object then manages everything required to run the XB-Engine.
Todo
Checks need to be put in place to ensure the command line parameters are correct:
Is the port number valid, is the IP address a multicast address, is the array size >0, etc.
- katgpucbf.xbgpu.main.make_engine(context: ~katsdpsigproc.abc.AbstractContext, vkgdr_handle: <MagicMock id='140228911845920'>, args: ~argparse.Namespace) tuple[XBEngine, Monitor][source]
Make an
XBEngineobject, given a GPU context.- Parameters:
context – The GPU context in which the
XBEnginewill operate.vkgdr_handle – Handle to vkgdr for the same device as context.
args – Parsed arguments returned from
parse_args().
- katgpucbf.xbgpu.main.parse_args(arglist: Sequence[str] | None = None) Namespace[source]
Parse all command line parameters for the XB-Engine and ensure that they are valid.
- katgpucbf.xbgpu.main.parse_beam(value: str) BOutput[source]
Parse a string with beam configuration data.
The string has a comma-separated list of key=value pairs. See
BOutputfor the valid keys and types. The following keys are required:name
dst
pol
- katgpucbf.xbgpu.main.parse_corrprod(value: str) XOutput[source]
Parse a string with correlation product configuration data.
The string has comma-separated list of key=value pairs. See
XOutputfor the valid keys and types. The following keys are required:name
dst
heap_accumulation_threshold
- async katgpucbf.xbgpu.main.start_engine(args: Namespace, tg: TaskGroup, exit_stack: AsyncExitStack, locals_: MutableMapping[str, object]) XBEngine[source]
Create and launch the XB-Engine.
Attach the ibverbs sender transport to the XBEngine object and then tell the object to launch all its internal asyncio functions.
See also