Draft: add Service for ONNXRuntime
Adds service that manages sessions of ONNXRuntime. In addition, a light wrapper around these Ort::Session
s is added, StandardSessions
, that manages it for the most standard use cases in LHCb.
To do list
-
add setting of max threads (done using config in ApplicationOptions
) -
add wrapper around standard option of vector of float (in one tensor) to vector of floats output
Accompanies (also more details in) Rec!3380 (closed). Related to Rec#460.
Possible future improvements if needed
-
use AddInitializer
to make session per thread making more efficient if needed to reduce memory consumption (see here)
ONNXRuntime package (install)
For cmake part to work still need to do locally:
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/onnxruntime/1.13.1-9722b/x86_64-centos7-gcc11-opt/lib:$LD_LIBRARY_PATH
Or add the following line to Findonnxruntime.cmake
file somewhere before the add_library
command:
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
To fix that onnxruntime
needs to be added to (@clemenci):
-
https://gitlab.cern.ch/lhcb-core/lcg-toolchains/-/blob/master/LCG_103/lcginfo.json -
Installed in LHCb related CVMFS
Edited by Maarten Van Veghel