Buffer Interprocess Sharing: Getting Started - Evaluating BIPS

From RidgeRun Developer Wiki


Previous: Getting Started Index Next: Getting Started/Getting the Code






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.
  • 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
Table 1. Features provided in the evaluation version

(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

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}

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.



Previous: Getting Started Index Next: Getting Started/Getting the Code