katgpucbf.fgpu.main module
fgpu main script.
This is what kicks everything off. Command-line arguments are parsed, and used
to create an FEngine object, which then takes over the actual running
of the processing.
- katgpucbf.fgpu.main.DEFAULT_DDC_TAPS_RATIO = 16
Ratio of decimation factor to tap count
- katgpucbf.fgpu.main.make_engine(ctx: ~katsdpsigproc.abc.AbstractContext, vkgdr_handle: <MagicMock id='140228911845920'>, args: ~argparse.Namespace) tuple[FEngine, Monitor][source]
Make an
FEngineobject, given a GPU context.- Parameters:
ctx – The GPU context in which the
FEnginewill operate.vkgdr_handle – The Vkgdr handle in which the
FEnginewill operate. It must use the same device as ctx.args – Parsed arguments returned from
parse_args().
- katgpucbf.fgpu.main.parse_args(arglist: Sequence[str] | None = None) Namespace[source]
Declare and parse command-line arguments.
- Parameters:
arglist – You can pass a list of argument strings in this parameter, for example in test situations, to make use of the configured defaults. If None, arguments from
sys.argvwill be used.
- katgpucbf.fgpu.main.parse_narrowband(value: str) NarrowbandOutput[source]
Parse a string with a narrowband configuration.
The string has a comma-separated list of key=value pairs. See
NarrowbandOutputfor the valid keys and types. The following keys are required:name
channels
centre_frequency
decimation
dst
- katgpucbf.fgpu.main.parse_wideband(value: str) WidebandOutput[source]
Parse a string with a wideband configuration.
The string has a comma-separated list of key=value pairs. See
WidebandOutputfor the valid keys and types. The following keys are required:name
channels
dst
- async katgpucbf.fgpu.main.start_engine(args: Namespace, tg: TaskGroup, exit_stack: AsyncExitStack, locals_: MutableMapping[str, object]) FEngine[source]
Start the F-Engine asynchronously.
See also