"A stream processing framework, created to ease the development of
high-throughput processing CPU/GPU pipelines. It is specifically
designed for digital signal processing (DSP) applications within radio
astronomy. A portable C API is provided, along with C++ and Python
wrappers.
The heart of bifrost is a flexible ring buffer implementation that
allows different signal processing blocks to be connected to form a
pipeline. Each block may be assigned to a CPU core, and the ring
buffers are used to transport data to and from blocks. Processing blocks
may be run on either the CPU or GPU, and the ring buffer will take care
of memory copies between the CPU and GPU spaces.
The purpose of bifrost is to allow rapid development of streaming DSP
pipelines; that is, it is designed for stream-like data. A simple
example of a data stream is the time series voltage data from a radio
telescope’s digitizer card. Unlike file-like data, stream-like data has
no well defined start and stop points. One can of course take a series
of files, each containing a chunk of a time stream, and treat them as a
stream.
https://github.com/ledatelescope/bifrost
Bifrost: a Python/C++ Framework for High-Throughput Stream Processing in Astronomy - https://hgpu.org/?p=17424
No comments:
Post a Comment