-
Notifications
You must be signed in to change notification settings - Fork 49
Features
Feature Summary Table of Contents
Users can create processing blocks for various kinds of DMA devices such as DSPs, PCIe boards, and GPUs. These devices tend to provide their own device-allocated memory. Pothos supports the integration of this device memory directly with the framework to minimize overhead and uncessary memory copies.
Details:
- https://github.com/pothosware/pothos-library/wiki/BlocksCodingGuide#buffer-resource-api-dma
- https://github.com/pothosware/pothos-opencl/wiki
A interconnections of blocks can be distributed across multiple processes and remote hosts. The coding burden to the user to distibute blocks on a remote node is no different in practice than instantiating the block locally. The topology will automatically add network ingress and outgress blocks to the design to support the distributed topology.
Every feature available in the Pothos API is available in the PothosGui. With PothosGui, users can design processing topologies, deploy those topologies on local and remote nodes, monitor and debug the design, author new processing blocks within the GUI...
The Pothos project includes a variety of processing toolkits including graphical plotters, SDR hardware support, FPGA offload support, OpenCl offload support, DSP processing, and more. See the components map for a list of known toolkits.
Pothos supports language bindings through its Proxy interface. Processing IP can be written in any language with the provided bindings. This IP can be connected and interfaced with in any other supported binding.
Current bindings are:
- https://github.com/pothosware/pothos-python/wiki
- https://github.com/pothosware/pothos-java/wiki
- others on the wishlist...
The following is a list of some of the advanced API features that Pothos can offer to authors of processing IP:
- Stream oriented API
- Stream metadata API
- Discrete messaging API
- Signals and slots API
- Buffer access API
- Project overview
- Getting started
- FAQ
- Video screencasts
- Demo applications
- Features summary
- Versioned releases
- Miscellaneous links
- Help and support
- Pothos users' group
- Twitter @pothosware
- IRC chat #pothos
- Slack workspace
- Contract services
- Developer blog
- Contributing
- Donate
- Build guide
- GUI Tutorial
- SDR Tutorial
- Filter Tutorial
- Doxygen docs
- PothosUtil Guide
- Blocks coding guide
- Scheduler explained
- Remote control guide
- Extending serialization