Install from binary packages
vAccel is under heavy development. To facilitate deployment & testing, we build
binaries for the various components and produce deb
packages. The available
binary components are:
- vAccel core: runtime library,
- plugins: Jetson, PYNQ, VSOCK, VIRTIO, TF, PYTORCH [WiP],
- vAccel Agent: the user-space agent that services vAccel API requests on the host,
- vAccel Python bindings: the necessary files to consume the vAccel API from a python program.
Download binaries
Download the relevant binaries (deb
or artifacts) using the links in the
table below.
Binaries
Component | Version | Package | Binary Artifact |
---|---|---|---|
vAccel core | v0.6.0 | x86_64 arm64 arm |
x86_64 arm64 arm |
vAccel agent | v0.3.7 | x86_64 arm64 arm |
x86_64 arm64 arm |
Jetson plugin | v0.1.0 | x86_64 arm64 |
x86_64 arm64 |
Tensorflow plugin | v0.1.0 | x86_64 arm64 |
x86_64 arm64 |
PYNQ plugin | v0.1.1 | x86_64 arm64 arm |
x86_64 arm64 arm |
VSOCK plugin | v0.1.0 | x86_64 arm64 arm |
x86_64 arm64 arm |
VIRTIO plugin | v0.1.0 | x86_64 arm64 |
x86_64 arm64 |
TORCH plugin | v0.1.0 | x86_64 arm64 |
x86_64 arm64 |
Python bindings | v0.0.1 | x86_64 arm64 |
x86_64 arm64 |
TF bindings | v0.0.1 | x86_64 arm64 |
x86_64 arm64 |
In addition to the deb
packages, we provide:
tar
archives for vAccel core, holding shared objects, include files, and examples- shared objects (
.so
) for the various plugins - an executable for the vAccel agent
Install
Install vAccel core library
deb
package
We use dpkg
to install the relevant deb
package on a Ubuntu or Debian-based
system.
For example, to install the vAccel core library for an x86_64
host, do:
wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/main/x86_64/Release-deb/vaccel-0.6.0-Linux.deb
dpkg -i vaccel-0.6.0-Linux.deb
The output should be something like the following:
# wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/main/x86_64/Release-deb/vaccel-0.6.0-Linux.deb
--2022-11-08 21:25:08-- https://s3.nbfc.io/nbfc-assets/github/vaccelrt/main/x86_64/Release-deb/vaccel-0.6.0-Linux.deb
Resolving s3.nbfc.io (s3.nbfc.io)... 84.254.1.240
Connecting to s3.nbfc.io (s3.nbfc.io)|84.254.1.240|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2124232 (2.0M) [application/x-debian-package]
Saving to: 'vaccel-0.6.0-Linux.deb'
vaccel-0.6.0-Linux.deb 100%[===========================================>] 2.03M --.-KB/s in 0.06s
2022-11-08 21:25:11 (31.9 MB/s) - 'vaccel-0.6.0-Linux.deb' saved [2124232/2124232]
# dpkg -i vaccel-0.6.0-Linux.deb
Selecting previously unselected package vaccel.
(Reading database ... 4878 files and directories currently installed.)
Preparing to unpack vaccel-0.6.0-Linux.deb ...
Unpacking vaccel (0.6.0) ...
Setting up vaccel (0.6.0) ...
The core runtime library package contains the following:
libvaccel.so
: the main dispatcherlibvaccel-python.so
: a wrapper library to be used for the python bindings- two plugins:
libvaccel-noop.so
andlibvaccel-exec.so
- example binaries that show the use of the vAccel User API
- helper files for the examples to run
# tree /usr/local/lib
/usr/local/lib
|-- libmytestlib.so
|-- libvaccel-noop.so
|-- libvaccel-python.so
`-- libvaccel.so
0 directories, 4 files
# tree /usr/local/bin/
/usr/local/bin/
|-- classify
|-- classify_generic
|-- depth
|-- depth_generic
|-- detect
|-- detect_generic
|-- exec
|-- exec_generic
|-- minmax
|-- minmax_generic
|-- noop
|-- pose
|-- pose_generic
|-- pynq_array_copy
|-- pynq_parallel
|-- pynq_vector_add
|-- segment
|-- segment_generic
|-- sgemm
|-- sgemm_generic
|-- tf_inference
|-- tf_model
`-- tf_saved_model
0 directories, 23 files
# tree /usr/local/share/
/usr/local/share/
|-- images
| `-- example.jpg
|-- input
| `-- input_262144.csv
|-- man
|-- models
| `-- tf
| |-- frozen_graph.pb
| `-- lstm2
| |-- keras_metadata.pb
| |-- saved_model.pb
| `-- variables
| |-- variables.data-00000-of-00001
| `-- variables.index
|-- vaccel-python.pc
`-- vaccel.pc
7 directories, 9 files
tar archive
Alternatively, you can install the vAccel core runtime library using the tar artifact. Use the commands below to install it to /usr/local/
:
wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/main/x86_64/Release-tar/vaccel-0.6.0-Linux.tar.gz
tar -zxvf /vaccel-0.6.0-Linux.tar.gz --strip-components=1 -C /
Install Plugins
deb
package
To install a plugin, download the relevant deb
package for the host
architecture and install it.
For example, to install the pynq
plugin on an aarch64 host do the following:
wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/plugins/pynq/main/aarch64/Release-deb/vaccelrt-plugin-pynq-0.1.1-Linux.deb
dpkg -i vaccelrt-plugin-pynq-0.1.1-Linux.deb
The output should be something like the following:
# wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/plugins/pynq/main/aarch64/Release-deb/vaccelrt-plugin-pynq-0.1.1-Linux.deb
--2022-11-08 21:42:41-- https://s3.nbfc.io/nbfc-assets/github/vaccelrt/plugins/pynq/main/aarch64/Release-deb/vaccelrt-plugin-pynq-0.1.1-Linux.deb
Resolving s3.nbfc.io (s3.nbfc.io)... 84.254.1.240
Connecting to s3.nbfc.io (s3.nbfc.io)|84.254.1.240|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9604 (9.4K) [application/x-debian-package]
Saving to: ‘vaccelrt-plugin-pynq-0.1.1-Linux.deb’
vaccelrt-plugin-pynq-0.1.1-Linux.deb 100%[============================================================================>] 9.38K --.-KB/s in 0.003s
2022-11-08 21:42:41 (2.90 MB/s) - ‘vaccelrt-plugin-pynq-0.1.1-Linux.deb’ saved [9604/9604]
# dpkg -i vaccelrt-plugin-pynq-0.1.1-Linux.deb
(Reading database ... 215228 files and directories currently installed.)
Preparing to unpack vaccelrt-plugin-pynq-0.1.1-Linux.deb ...
Unpacking vaccelrt-plugin-pynq (0.1.1) over (0.1.1) ...
Setting up vaccelrt-plugin-pynq (0.1.1) ...
and libvaccel-pynq.so
should appear in /usr/local/lib
:
# tree /usr/local/lib/
/usr/local/lib/
├── libvaccel-exec.so
├── libvaccel-noop.so
├── libvaccel-pynq.so
├── libvaccel-python.so
├── libvaccel.so
0 directories, 5 files
shared object
Alternatively, you can grab the shared object directly from the
table above and set the environment variable VACCEL_BACKENDS
to
the full path of the file. See Running a vAccel
application for more info on
how to specify the plugin(s) for a vAccel application.
Install vAccel agent
deb
package
To install the agent, download the relevant deb
package for the host
architecture and install it.
wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/agent/main/x86_64/Release-deb/vaccelrt-agent-0.3.7-Linux.deb
dpkg -i vaccelrt-agent-0.3.7-Linux.deb
The output should be something like the following:
# wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/agent/main/x86_64/Release-deb/vaccelrt-agent-0.3.7-Linux.deb
--2022-11-10 18:20:57-- https://s3.nbfc.io/nbfc-assets/github/vaccelrt/agent/main/x86_64/Release-deb/vaccelrt-agent-0.3.7-Linux.deb
Resolving s3.nbfc.io (s3.nbfc.io)... 84.254.1.240
Connecting to s3.nbfc.io (s3.nbfc.io)|84.254.1.240|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1738158 (1.7M) [application/x-debian-package]
Saving to: 'vaccelrt-agent-0.3.7-Linux.deb'
vaccelrt-agent-0.3.7-Linux.deb 100%[=====================================================================>] 1.66M --.-KB/s in 0.06s
2022-11-10 18:20:58 (25.8 MB/s) - 'vaccelrt-agent-0.3.7-Linux.deb' saved [1738158/1738158]
root@18c0e0189e2b:/# dpkg -i vaccelrt-agent-0.3.7-Linux.deb
Selecting previously unselected package vaccelrt-agent.
(Reading database ... 4878 files and directories currently installed.)
Preparing to unpack vaccelrt-agent-0.3.7-Linux.deb ...
Unpacking vaccelrt-agent (0.3.7) ...
Setting up vaccelrt-agent (0.3.7) ...
and you should see the binary in /usr/local/bin
:
# tree /usr/local/bin/
/usr/local/bin/
`-- vaccel-agent
0 directories, 1 file
executable
Alternatively, you can grab the binary directly and make it executable:
wget https://s3.nbfc.io/nbfc-assets/github/vaccelrt/agent/main/x86_64/Release/vaccel-agent
# We will need to make it executable as file permissions are not preserved
chmod +x ./vaccel-agent
mv ./vaccel-agent /usr/local/bin