Installation Guide
This guide will help you set up Denkflow on your system. Denkflow is optimized for AI acceleration on compatible hardware but will work on standard CPU systems as well.
System Requirements
Minimum Requirements
- Operating System: Windows 10, Windows 11, Linux (with glibc ≥ 2.31 and libstdc++ ≥ 12)
- Architecture: x86-64 or ARM64
- Storage: At least 2GB of free disk space for models and cache
Recommended Hardware
- RAM: 4GB minimum, 16GB+ recommended for larger models
- Optional GPU: NVIDIA GPU or Jetson Device with 4GB+ VRAM for acceleration
- CPU: 4+ cores for optimal performance
Standard Installation
- Python
- C
Prerequisites
- Python 3.10 or newer
Installation
For a basic installation that will run on CPU:
pip install denkflow --index-url https://denkflow:gldt-ep8wbqptqrvjTYoTvxTA@gitlab.com/api/v4/projects/69262737/packages/pypi/simple
Hardware Acceleration Options
Denkflow supports various hardware acceleration methods to significantly improve inference speed. Choose the option that matches your hardware:
GPU Acceleration (NVIDIA GPUs & Jetson)
For accelerated processing on NVIDIA hardware:
pip install denkflow[gpu] --index-url https://denkflow:gldt-ep8wbqptqrvjTYoTvxTA@gitlab.com/api/v4/projects/69262737/packages/pypi/simple
Requirements:
- CUDA Toolkit version 12.x installed on your system
- Compatible NVIDIA GPU or NVIDIA Jetson device
- Up-to-date NVIDIA drivers
Notes:
- Includes both CUDA and TensorRT execution providers
- First-time TensorRT initialization takes ~15 minutes to build the engine cache
- Subsequent runs will be significantly faster
- The cache is stored in the
DENKFLOW_DATA_DIRECTORY
(see Configuration section)
Jetson Devices
For NVIDIA Jetson devices, use the specialized Jetson package:
pip install denkflow-jetson[gpu] --index-url https://denkflow:gldt-ep8wbqptqrvjTYoTvxTA@gitlab.com/api/v4/projects/69262737/packages/pypi/simple
Important Notes for Jetson Users:
- Always use
denkflow-jetson
package (notdenkflow
) for Jetson devices - Jetson Xavier limitations:
- TensorRT execution provider is NOT supported due to outdated compute capability (sm_72, minimum required: sm_75)
- Only CPU and CUDA execution providers will work
- Jetson Orin: Full TensorRT support available
Jetson Xavier: Potential Import Crash Fix
If you encounter a crash when importing denkflow on Jetson Xavier with the error:
/opt/rh/gcc-toolset-14/root/usr/include/c++/14/bits/stl_vector.h:1130: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = unsigned int; _Alloc = std::allocator<unsigned int>; reference = unsigned int&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Aborted (core dumped)
Enable all CPU cores manually:
sudo su
echo 1 > /sys/devices/system/cpu/cpu4/online
echo 1 > /sys/devices/system/cpu/cpu5/online
Troubleshooting
If you encounter installation issues:
- Ensure your Python version meets requirements:
python --version
- Check your system libraries:
ldd --version
- For GPU acceleration, verify CUDA installation:
nvcc --version
- See our Troubleshooting Guide for common solutions
Prerequisites
- A working C compiler
Relevant Files
The compiled binaries and the header file can be downloaded from this repository.
- denkflow.h: The header file that contains the function definitions
- Linux:
- libdenkflow.so: The library file containing the binary code of the denkflow functions
- Windows:
- libdenkflow.dll: The library file containing the binary code of the denkflow functions
- libdenkflow.dll.lib: The file to be linked against during compilation
Troubleshooting
If you encounter installation issues:
- Ensure that all DLLs/SOs can be found at compilation-time and runtime
Next Steps
After successful installation, check out the Core Concepts to begin using Denkflow.