Buffer Interprocess Sharing: Getting Started - Evaluating BIPS
Buffer Interprocess Sharing | |
---|---|
BIPS Basics | |
|
|
Getting Started | |
|
|
User Manual | |
|
|
Examples | |
|
|
Performance | |
|
|
Contact Us | |
|
Requesting the Evaluation Binary
To request an evaluation binary for a specific architecture, don't hesitate to get in touch with us providing the following information:
- Platform (i.e.: TX1, TX2, x86)
- Operating System version, including:
- Kernel version. Use
uname -a
- Distribution version.
- Kernel version. Use
- If you are on Jetson:
- Jetpack version
- L4T version
- Python version (it must be Python 3.6 or later)
RidgeRun will provide you with the binaries to evaluate BIPS with some limitations
Features of the Evaluation
To help you test our BIPS library, RidgeRun can provide an evaluation version of the plug-in.
The following table summarizes the features available in both the professional and evaluation version of BIPS.
Feature | Professional | Evaluation |
---|---|---|
Python modules and C++ headers | Y | Y |
Inter-container capability | Y | Y |
Examples | Y | Y |
Unlimited Processing Time | Y | N (1) |
Unlimited Clients | Y | N (2) |
Source Code | Y | N |
(1) The evaluation version will limit the processing to a maximum of 5000 buffers
(2) The evaluation version will limit the number of clients to 3.
This version is intended for evaluation. You can build your application on top of BIPS, but the number of buffers will be a constraint. To get the source code and unlimited buffers, purchase the professional version of the product.
Evaluating BIPS
After requesting the evaluation version of BIPS, RidgeRun will provide you with a tarball with the binaries to install BIPS in your system.
For these instructions, please, consider a Ubuntu 18.04 x64 (or later)-based machine.
Installing dependencies
Currently, BIPS depends on the following dependencies:
- libboost-system-dev
- libspdlog
- python-dev (when compiling the bindings)
- pthreads
To install the dependencies, please, type the following commands:
sudo apt update sudo apt install python3 python3-dev python3-numpy libboost-system-dev libspdlog-dev
Info: You may need to have POSIX Shared Memory enabled in your kernel.
Installing BIPS
RidgeRun will provide you with a tarball with the following contents:
. └── usr └── local ├── include │ └── bips │ ├── buffer.hpp │ ├── iconsumer.hpp │ ├── iproducer.hpp │ └── runtimeerror.hpp └── lib ├── python3.8 │ └── site-packages │ └── bips │ └── bips.cpython-38-x86_64-linux-gnu.so └── x86_64-linux-gnu ├── libbips.so -> libbips.so.0 ├── libbips.so.0 -> libbips.so.0.1.0 └── libbips.so.0.1.0 └── pkgconfig └── bips.pc
python3.8 may vary on the Python version you request. |
After decompressing the files, please, copy the contents to the target machine:
sudo cp -r usr/local/* /usr/local/
If you don't want to install BIPS on your system, you can alternatively set the environment
export LD_LIBRARY_PATH=`pwd`/usr/local/lib/$(uname -m)-linux-gnu:${LD_LIBRARY_PATH} export PYTHONPATH=`pwd`/usr/local/lib/python3.8/site-packages:${PYTHONPATH}
python3.8 may vary on the Python version you request. |
Testing BIPS
To test BIPS, you can test it through the Python bindings. Please, open a new Python 3 shell and type:
import bips
Examples
BIPS is equipped with examples for C++, Python and container use cases. Please, visit Examples for more information.
Troubleshooting
The examples generates logging files in:
- producer.log
- consumer.log
You can have a look at the logs when running the examples.
Moreover, BIPS a logger built-in. When creating a new Producer
or Consumer
, you can pass a logger through the constructor. Please, read the User Manual for further reference.