Dependencies

This document catalogues the tools, libraries and packages that Xilinx Inference Server depends on and are installed in the Xilinx Inference Server Docker containers. The information here is derived from the Dockerfile and source files used in Xilinx Inference Server. If there is a conflict, the source takes precedence.

Docker Image

Base Image

The base image for Xilinx Inference Server containers is Ubuntu 18.04 and it includes a number of packages by default.

Ubuntu Bionic Repositories

The following packages (and any dependencies) are installed in the Xilinx Inference Server dev container from Ubuntu’s repositories using Ubuntu’s package manager apt.

Name

Version

License

Usage

bash_completion

1:2.8-1ubuntu1

GPL-2+

Scripts used to auto-complete bash commands

clang-format-10

1:10.0.0-4ubuntu1~18.04.2

Apache 2.0 with LLVM exceptions + others

Executable used to apply formatting

clang-tidy-10

1:10.0.0-4ubuntu1~18.04.2

Apache 2.0 with LLVM exceptions + others

Executable used for linting

curl

7.58.0-2ubuntu3.14

Curl

Executable used for transferring data

doxygen

1.8.13-10

GPL-2 with Qt exception + others

Executable used for building documentation

gcc

4:7.4.0-1ubuntu2.3

GPL-2 + others

Executable used for compiling source code

gdb

8.1-0ubuntu3

LGPL-2.1+ + others

Executable used for debugging

git

1:2.17.1-1ubuntu0.8

GPL-2 + others

Executable used for source control

graphviz

2.40.1-2

EPL-1.0 + others

Executable used to draw graphs in documentation

libbrotli-dev

1.0.3-1ubuntu1.3

MIT

Dynamically linked by Drogon

libc-ares-dev

1.14.0-1ubuntu0.1

MIT + others

Dynamically linked by Drogon

libjson-c-dev

0.12.1-1.3ubuntu0.3

MIT

Dynamically linked by rt-engine

libjsoncpp-dev

1.7.4-3

MIT + others

Dynamically linked by proteus-server and Drogon

libssl-dev

1.1.1-1ubuntu2.1~18.04.13

Dual OpenSSL/SSLeay

Dynamically linked by Drogon

locales

2.27-3ubuntu1.2

GPL-2 + others

Executable used to set locale

make

4.1-9.1ubuntu1

GPL-3+

Executable used to build executables

net-tools

1.60+git20161116.90da8a0-1ubuntu1

GPL-2+

Executable used to query used ports

openssh-client

1:7.6p1-4ubuntu0.5

OpenSSH + others

Executable used for remote connections

pkg-config

0.29.1-0ubuntu2

GPL-2+

Executable used for configuring unilog

python3

3.6.5-3

PSF License

Executable used for scripting and testing proteus-server

sudo

1.8.21p2-3ubuntu1.4

ISC license + others

Executable used to grant elevated permissions to the user

symlinks

1.4-3build1

Freely distributable

Executable used to convert absolute symlinks to relative ones

tzdata

2021a-0ubuntu0.18.04

Public Domain

Used for setting the timezone

uuid-dev

2.31.1-0.4ubuntu3.7

GPL-2+ + others

Dynamically linked by Drogon

valgrind

1:3.13.0-2ubuntu2

GPL-2+ + others

Executable used for for debugging

vim

2:8.0.1453-1ubuntu1.4

Vim + others

Executable used for text editing in terminal

wget

1.19.4-1ubuntu2.2

GPL-3 with OpenSSL exception

Executable used to retrieve files from the internet

zlib1g-dev

1:1.2.11.dfsg-0ubuntu2

Zlib

Dynamically linked by proteus-server

Ubuntu PPAs

The following packages (and any dependencies) are installed in the Xilinx Inference Server dev container from a Personal Package Archive (PPA) using Ubuntu’s package manager apt.

Name

Version

License

Usage

gcc-9

9.4.0-1ubuntu1~18.04

GPL-3 + others

Executable used for compiling source code

g++-9

9.4.0-1ubuntu1~18.04

GPL-3 + others

Executable used for compiling source code

PyPI

The following packages (and any dependencies) are installed in the Xilinx Inference Server dev container from the Python Package Index (PyPI) using pip.

Name

Version

License

Usage

aiohttp

latest

Apache 2.0

Async HTTP client

black

latest

MIT

Formatting Python files

breathe

latest

BSD-3

Connect Doxygen to Sphinx for documentation

cpplint

latest

BSD-3

C++ linter

fastcov

latest

MIT

Reporting test coverage

numpy

latest

BSD-3

Scientific computing package for Python

opencv-python-headless

latest

MIT

Python bindings for OpenCV

pip

latest

MIT

Python package installer

pytest

latest

MIT

Python testing infrastructure

pytest-benchmark

latest

BSD-2

Plugin for Pytest to add benchmarking

requests

latest

Apache-2.0

Making REST requests

rich

latest

MIT

Printing tables when benchmarking

setuptools

latest

MIT

Manage Python packages

sphinx

latest

BSD-2 + others

Building documentation

sphinx-argparse

latest

MIT

Sphinx plugin for documenting CLIs

sphinx_copybutton

latest

MIT

Adds copy button for code blocks

sphinxcontrib-confluencebuilder

latest

BSD-2

Sphinx plugin to export documentation to Confluence

websocket-client

latest

Apache-2.0

Using websockets in Python

wheel

latest

MIT

Support wheels for Python packages

Github

The following packages are installed in the Xilinx Inference Server dev container from the Github.

Name

Version

License

Usage

Kitware/CMake

3.21.1

BSD-3 + others

Executable used to generate build systems

cameron314/concurrentqueue

1.0.3

Dual BSD-2/Boost + others

Statically linked by proteus-server for an efficient multi-producer queue

jarro2783/cxxopts

2.2.1

MIT

Statically linked by proteus-server for command-line argument parsing

gdraheim/docker-systemctl-replacement

1.5.4505

EUPL

Executable created by pyinstaller for starting XRM

drogonframework/drogon

1.3.0

MIT

Dynamically linked by proteus-server for an HTTP and websocket server

tschaub/gh-pages

latest

MIT

Executable used to publish documentation to gh-pages branch

git-lfs/git-lfs

2.13.3

MIT + others

Executable used to manage large files in git

tianon/gosu

1.12

Apache 2.0

Executable used to drop down to user when starting container

google/googletest

1.11.0

BSD-3

Statically linked by proteus’s test executables

include-what-you-use/include-what-you-use

0.14

LLVM License

Executable used to check C++ header inclusions

json-c/json-c

0.15

MIT

Dynamically linked by Vitis libraries

libb64/libb64

2.0.0.1

Public Domain Certification

Statically linked by proteus-server for base64 codec

linux-test-project/lcov

1.15

GPL-2

Executable used for test coverage measurement

nodejs/node

14.16.0

MIT + others

Executable used for web GUI development

opencv/opencv

3.4.4

Apache 2.0

Dynamically linked by proteus-server for image and video processing

open-telemetry/opentelemetry-cpp

1.1.0

Apache 2.0

Dynamically linked by proteus-server

jupp0r/prometheus-cpp

0.12.2

MIT

Dynamically linked by proteus-server for metrics

protocolbuffers/protobuf

3.4.0

BSD-3

Dynamically linked by proteus-server and Vitis libraries

gabime/spdlog

1.8.2

MIT

Statically linked by proteus-server for logging

wg/wrk

4.1.0

modified Apache 2.0

Executable used for benchmarking proteus-server

Xilinx

The following packages are installed in the Xilinx Inference Server dev container from Xilinx using Ubuntu’s package manager apt.

Name

Version

Link

License

aks

1.4.0-r73

Debian package

Apache 2.0

rt-engine

1.4.0-r178

Debian package

Apache 2.0

target-factory

1.4.0-r77

Debian package

Apache 2.0

unilog

1.4.0-r75

Debian package

Apache 2.0

vart

1.4.0-r117

Debian package

Apache 2.0

vitis-ai-library

1.4.0-r105

Debian package

Apache 2.0

xir

1.4.0-r80

Debian package

Apache 2.0

xrm

1.3.29

Debian package

Apache 2.0

xrt

2.12.427

Debian package

Apache 2.0

Included

The following files are included in the Xilinx Inference Server repository under the terms of their original licensing. This information is duplicated in the LICENSE.

Name

Source

Original File

License

Usage

bicycle-384566_640.jpg

Pixabay

bicycle-384566_640.jpg

Pixabay License

Used for testing

CodeCoverage.cmake

bilke/cmake-modules

CodeCoverage.cmake

BSD-3

Cmake module for test coverage measurement

ctpl.h

vit-vit/CTPL

ctpl.h

Apache 2.0

C++ Thread pool library

dog-3619020_640.jpg

Pixabay

dog-3619020_640.jpg

Pixabay License

Used for testing

proteusConfig.cmake

alexreinking/SharedStaticStarter

SomeLibConfig.cmake

MIT

Cmake module for installing libraries

Queue.js

Kate Rose Morley

Queue.src.js

CC0 1.0 Universal

JavaScript class for a queue

sport-1284275_640.jpg

Pixabay

sport-1284275_640.jpg

Pixabay License

Used for testing

Downloaded Files

The following files can be optionally downloaded by scripts and may be needed by examples and tests.

Name

Source

License

densebox_320_320-u200-u250-r1.4.0.tar.gz

Xilinx Inc.

Apache 2.0

girl-1867092_640.jpg

Pixabay

Pixabay License

Physicsworks.ogv

Wikimedia

CC Attribution 3.0 Unported

resnet_v1_50_tf-u200-u250-r1.4.0.tar.gz

Xilinx Inc.

Apache 2.0

vitis_ai_runtime_r1.3.0_image_video.tar.gz

Xilinx Inc.

Apache 2.0

yolov3_adas_pruned_0_9-u200-u250-r1.4.0.tar.gz

Xilinx Inc.

Apache 2.0

yolov3_voc-u200-u250-r1.4.0.tar.gz

Xilinx Inc.

Apache 2.0