triton-inference-server / dali_backend

The Triton backend that allows running GPU-accelerated data pre-processing pipelines implemented in DALI's python API.
https://docs.nvidia.com/deeplearning/dali/user-guide/docs/index.html
MIT License
120 stars 28 forks source link

Cannot compile dali_backend with older version of triton #199

Open spotnate opened 1 year ago

spotnate commented 1 year ago

Hi!

I'd like to compile dali with an older version of triton because I am forced to use tritonserver 21.10. This is due to nvidia driver versions, and the inability to upgrade the drivers to a newer version.

When attempting to build dali_backend for 21.10 after setting the triton version to 21.10 and the API version to 21.05 in the Dockerfile.release file, this is the failure that shows up

/dali/src/config_tools/config_tools.cc: In function 'void triton::backend::dali::AutofillIOConfig(triton::common::TritonJson::Value&, triton::common::TritonJson::Value&, const triton::backend::dali::IOConfig&, bool)':
/dali/src/config_tools/config_tools.cc:237:22: error: 'class triton::common::TritonJson::Value' has no member named 'SetString'; did you mean 'AddString'?
  237 |     config_data_type.SetString(new_data_type);
      |                      ^~~~~~~~~
      |                      AddString
make[2]: *** [src/CMakeFiles/triton-dali-backend-utils.dir/build.make:95: src/CMakeFiles/triton-dali-backend-utils.dir/config_tools/config_tools.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:458: src/CMakeFiles/triton-dali-backend-utils.dir/all] Error 2
make: *** [Makefile:149: all] Error 2

When attempting to build dali_backend using tag r21.10, after replacing the initial apt-get to fix the public key problem, it has even more failures than the one described. So therefore, it is currently impossible to build tag 21.10.

Would appreciate some help! Thank you very much.

banasraf commented 1 year ago

Hi @spotnate DALI backend requires building with Triton API version >= 22.07. The compilation errors you see are due to lack of some functions that are absent in in API 21.10, so without modifying DALI source code it won't be possible to compile it for Triton 21.10.

The newest version of DALI backend that can be compiled with older Triton APIs is r22.07 (https://github.com/triton-inference-server/dali_backend/tree/r22.07) - as you can see in Dockerfile.release it requires API version >= 21.05

spotnate commented 1 year ago

I'll give this a shot. Thanks for the suggestion!