Use Clang to build MJX#534
Draft
DwarKapex wants to merge 8 commits into
Draft
Conversation
yhtang
requested changes
Feb 13, 2024
| ARG CC | ||
| ARG CXX | ||
|
|
||
| ENV CC=${CC} |
Contributor
There was a problem hiding this comment.
Instead of enforcing the compiler toolchain globally, can we set it only for the MPC installation step?
yhtang
requested changes
Feb 13, 2024
| RUN CC=${CC_COMPILER} CXX=${CXX_COMPILER} pip-finalize.sh /opt/pip-tools.d/requirements-mpc.in | ||
|
|
||
| # compiler the rest dependencies | ||
| RUN pip-finalize.sh /opt/pip-tools.d/requirements-mjx.in /opt/pip-tools.d/requirements-l2r.in |
Contributor
There was a problem hiding this comment.
Why do we need to run pip-finalize twice here? Due to the use of pip-sync in the script, the second run will erase what the first run installed.
Contributor
|
The plan coming out of an offline discussion between @DwarKapex and me is to use multi-stage build to create the MPC wheel using clang and then bring it into the mealkit/final image to avoid interfering with the default compiler toolchain. This is similar to how we build the jaxlib wheel in the JAX core image and also how we build the tensorflow-text/lingvo packages in the T5X/Pax arm64 images. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I got a compilation issue while compiling mujoco-mpc with GNU c++ compiler:
The developers of
mujoco-mpcuse Clang to compile (https://github.com/google-deepmind/mujoco_mpc/blob/main/.github/workflows/build.yml#L19).From now on, the default compiler for MJX is Clang, but can be changed via docker arguments.