Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fast-wrapper #1032

Open
tomuben opened this issue Dec 5, 2024 · 0 comments
Open

Add fast-wrapper #1032

tomuben opened this issue Dec 5, 2024 · 0 comments
Labels
feature Product feature

Comments

@tomuben
Copy link
Collaborator

tomuben commented Dec 5, 2024

Background

It turns out we need to manipulate the "LD_LIBRARY_PATH" of the UDF client during the runtime. More specifically, we need to extend this environment variable coming from the database with specific values of the Script-Languages-Container, i.e. the path to the conda cuda-compat libraries.
As this is not possible in the UDF client itself (subsequent loading of shared libraries ignores the newly set environment variable), we need to implement a fast wrapper, similar to the slow wrapper bash scripts, but in C++.

Acceptance Criteria

  1. Implement a thin wrapper which get 's an aribrary list of environment variables to change from preprocessor variables (or maybe some form of template file). The wrapper should then extend the environment variables by prepending the values (using ::getenv() and ::setenv())
  2. The thin wrapper should call the real exaudfclient binary then with the passed arguments, via ::execve().
  3. Extend Bazel configs to pass the environment variables easily from the Dockerfile of the build_run step.
  4. Extend Bazel BUILD file to build the new fast wrapper and pass the new environment variable and pass the info about the real exaudfclient path
  5. Use this new config in the standard-Exasol-8-cuda-ml flavor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Product feature
Projects
None yet
Development

No branches or pull requests

1 participant