-
Notifications
You must be signed in to change notification settings - Fork 790
[CI] Introduce driver and nightly containers #4777
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
Conversation
Can we employ Dependabot to update the dependencies? |
devops/dependencies.json
Outdated
@@ -0,0 +1,10 @@ | |||
{ | |||
"linux": { |
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.
Are you going to add Windows drivers support?
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.
Eventually
check: | ||
runs-on: ubuntu-20.04 | ||
if: github.repository == 'intel/llvm' | ||
strategy: |
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.
Hm... I thought we can re-use the workflow added by #4773. I see a lot of duplicated commands from .github/workflows/sycl_linux_build_and_test.yml.
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.
Yes, that's the intention. I'll fix that before moving PR to ready for review.
- sycl | ||
jobs: | ||
check: | ||
runs-on: ubuntu-20.04 |
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.
Can't we re-use of the containers to avoid configuring the system from scratch?
runs-on: ubuntu-latest | ||
needs: ubuntu2004_build_test | ||
steps: | ||
- uses: actions/checkout@v2 |
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.
Ideally, we should save the time on checking out sources by using an image where some old SHA is checked out already and we need just update 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.
I'm not sure saving 1 minute on a 1,5 hour build is a significant improvement.
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.
Maybe not significant, but still an improvement!
I'm okay to get back to this after we configure everything else.
No, it only support certain build tools. But we can still make some bot, that'll check for updates. |
What do you mean by "build tools"? |
Rust's cargo or npm as examples |
I think these are called "package managers" and as I can see there is a way to configure "github-actions" package manager, which should be able to update packages releases through GitHub, but haven't tried it myself. Does it make sense? |
It updates actions, used in workflow, published in https://github.com/marketplace. This isn’t what we need. |
devops/dependencies.json
Outdated
"compute_runtime_tag": "21.37.20939", | ||
"igc_tag": "igc-1.0.8517", | ||
"tbb_tag": "v2021.4.0", | ||
"fpgaemu_tag": "2021-07", | ||
"cpu_tag": "2021-07" |
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.
we have duplicated version here. Is there a chance that this data will be read from https://github.com/intel/llvm/blob/sycl/buildbot/dependency.conf?
We can change the format of the dependency file to match expectations if needed.
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.
@vladimirlaz we can discuss this offline. As PR description says, this file specifies git tags, so that CI can download dependencies from public sources. I don't see a pattern in dependency.conf
to construct a download URL, but it would be nice to avoid duplication (also it does not specify IGC version, but that's the least of my concerns with that file).
I suggest to proceed with latest drivers for now and figure out how to set preferred version later. |
…vm into add_more_sycl_containers
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 think #4778 should be updated with instructions on how to make use of these containers.
Please, file a bug report for pre-commit failure. It looks like CI exposes flaky issue.
dpkg -i *.deb && rm *.deb | ||
|
||
# Install NEO | ||
RUN python3 /get_release.py intel/compute-runtime $compute_runtime_tag \ |
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.
is ocloc installed as part of this installation?
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.
Yes, it's part of intel-opencl-icd_smth.deb
This pull request is a followup on #4754, that adds two more Docker containers: a container with Intel drivers installed and a container with pre-installed nightly build of DPC++ from this repository.
"Intel drivers" container includes all the latest version of low-level runtimes for Intel devices.
The "nightly" container is derived from "Intel drivers" container, and provides the latest nightly build of SYCL.
Requires: #4773
Documentation: #4778