-
Notifications
You must be signed in to change notification settings - Fork 84
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
Update install prereqs python fix #1782
Conversation
Needed to run containers with 22.04
Updated dockerfile to use ROCm 5.5 and Ubuntu 22.04 for use with building MIGraphX Able to run make -j$(nproc) check successfully with this
Codecov Report
@@ Coverage Diff @@
## develop #1782 +/- ##
========================================
Coverage 91.55% 91.55%
========================================
Files 419 419
Lines 15503 15503
========================================
Hits 14193 14193
Misses 1310 1310 |
Dockerfile_Ubuntu_2204
Outdated
# Setup ubsan environment to printstacktrace | ||
ENV UBSAN_OPTIONS=print_stacktrace=1 | ||
ENV ASAN_OPTIONS=detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1 | ||
RUN ln -s /opt/rocm/llvm/bin/llvm-symbolizer /usr/bin/llvm-symbolizer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we keep this dockerfile in sync with the other dockerfile? This looks like a duplicate of Dockerfile. Also docker files should be named Dockerfile or *.docker.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The big add here was using the Pinned version Package via
# From docs.amd.com for installing rocm. Needed to install properly
RUN sh -c "echo 'Package: *\nPin: release o=repo.radeon.com\nPin-priority: 600' > /etc/apt/preferences.d/rocm-pin-600"
along with the updated keyring signing needed.
The only real difference I see here from 22.04, and 20.04 where
- FROM statement
- 22.04 breaks with g++-7 & clang-format-10
- changes to preqs
I suppose we can migrate the specifics to the install_prereqs.sh script for 20.04 , and then pass in which target dist we want somehow for our FROM? Maybe use --build-arg? That would mean a smaller update to our CI for additional containers from changing FROM and updating prereqs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose we can migrate the specifics to the install_prereqs.sh script for 20.04 , and then pass in which target dist we want somehow for our FROM?
The problem is not just the differences but the large amount that is copied. I dont think we can move everything into install_preqs.sh(that also can destroy any docker layer caching).
Instead, we should either upgrade the current Dockerfile to use ubuntu 22.04(which seems like a seperate PR), or just drop this extra dockerfile thats not tested(and I would prefer not to increase CI jobs to test it though).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean I would agree with updating the currently docker to 22.04 but then preserving the older dockerfile in Dockerfiles/Docker_.dockerfile so if we need to revert back/testing would be a good historical record of what's worked / used by us
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean I would agree with updating the currently docker to 22.04 but then preserving the older dockerfile in Dockerfiles/Docker_.dockerfile so if we need to revert back/testing would be a good historical record of what's worked / used by us
We can get the old docker from git. No need to duplicate it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So should I just remove the 22.04 docker, or is the plan to migrate it in another PR at some target date?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is not just the differences but the large amount that is copied.
Docker files can be composed.
This Dockerfile takes base docker image as an argument during docker build. We could create a base docker image similar to that and customize on top it.
This one is the base docker image which again takes linux/ubuntu version and ROCM_RELEASE as the argument during docker build.
But that would mean two-step process of docker build inside the CI.
-use one protobuf version -remove extra python3.8 installs from 3.10 case
This build is OK for merge ✅ |
🔴cadene-dpn92_1: FAILED: MIGraphX is not within tolerance - check verbose output |
remove Docker_** from the name. Move these to tools/docker
…dist Set this to be default as part of installing prereqs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, testing ubuntu2204 dockerfile on my Navi21 system just in case
Looks to work |
-Updated install_prereqs when using 22.04
-Added new Dockerfile for Ubuntu 22.04 used for testing
-Kept removed items commented in new dockerfile for visibility in this PR, can remove later.
Tested and ran with Navi10 and MI250 servers and make check passes