remove swig dependencies in favor of pybind11. This gives much finer control over python bindings, improves compile time, and makes lumpy interface much easier. Consequently, the folders pyutil and cpputil are deprecated.
This branch merged the data-preloading in queue loader with std::futures. This means the queueloader interface can easily overlap IO with computation and still maintain a a scalable, deterministic behavior.
There are also several minor things:
Tests are updated for pybind11 features,
python interface is slightly changed, which will break dependent packages like the larcv3-viewer.
Python bindings are disabled, by default, for most imagemod like processes.
PSet interface in python is a little more robust, allowing to modify PSets in python and use them directly to configure. The intention is to use pure python configuration, no configuration files, in most workloads.
ThreadIO is officially deprecated. QueueIO is the same performance on single node, and much much better on multinode.
This branch does two major things:
std::futures
. This means the queueloader interface can easily overlap IO with computation and still maintain a a scalable, deterministic behavior.There are also several minor things:
larcv3-viewer
.