Skip to content

Issues with backends #822

Open
Open
@Spartee

Description

@Spartee

Hello, as the RedisAI team knows, CrayLabs uses RedisAI within SmartSim. Currently we have a few issues that we figured would best be grouped together such that they can be tracked as an "epic" of sorts.

For RedisAI 1.2.3

General

TensorFlow Cmake

  • Currently, if not downloaded by the get_deps.sh script, the findTensorFlow.cmake file is used to determine the location of tensorflow. This file is out of date. for RAI 1.2.x newer tensorflow versions should be ok, but it throws errors.

ONNX

Backends

  • In general it seems like RedisAI relies on docker images to perform builds for the backends. Because of the environments (OS, system libraries, etc) these docker containers have, the backends are built with newer versions of GLIBC and other dependencies that make them unusable on older OS's even though those backend libraries (libtorch, tensorflow, etc) are readily supported. it seems as if others are running into these issues as well GLIBC_2.27 not found on Xenial GPU Docker image #724
  • For example, we currently do not use the Torch backend for this reason, we pip install the torch library and use the shared libraries that come with that. this works fine by just setting Torch_DIR and then bypassing torch in the get_deps script but invoking torch in the build.
  • I've documented this for ONNX in ticket lib64/libm.so GLIBC issue with ONNX GPU backend on Linux  #826

Key Point In general I think it would be best if the cmake and build setup were enabled to allow the user to pass environment variables that specify the locations of the backends they have already built.
For

  • PyTorch this works (pass Torch_DIR)
  • For TensorFlow this does not (see above)
  • For ONNX this does not because of the vendored ONNX version.

This would also help users who would like to try to get RedisAI built for AMD GPUs

More clarity about the roadmap in terms of expected dates and versions would be much appreciated as well. ex. #591

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions