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

[CI] Fix missing deps in dev igc installation #13610

Merged
merged 10 commits into from
May 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ jobs:
- name: Determine Arc tests
id: arc_tests
run: |
if [ "${{ contains(needs.detect_changes.outputs.filters, 'drivers') }}" == "true" ]; then
if [ "${{ contains(needs.detect_changes.outputs.filters, 'devigccfg') }}" == "true" ]; then
echo 'arc_tests="(ESIMD|InvokeSimd|Matrix)/"' >> "$GITHUB_OUTPUT"
elif [ "${{ contains(needs.detect_changes.outputs.filters, 'drivers') }}" == "true" ]; then
echo 'arc_tests=""' >> "$GITHUB_OUTPUT"
elif [ "${{ contains(needs.detect_changes.outputs.filters, 'esimd') }}" == "true" ]; then
echo 'arc_tests="(ESIMD|InvokeSimd|Matrix)/"' >> "$GITHUB_OUTPUT"
Expand Down
8 changes: 4 additions & 4 deletions devops/dependencies-igc-dev.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"linux": {
"igc_dev": {
"github_tag": "igc-dev-498324a",
"version": "498324a",
"updated_at": "2024-04-17T13:44:27Z",
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/1422168296/zip",
"github_tag": "igc-dev-41e87ac",
"version": "41e87ac",
"updated_at": "2024-05-02T11:47:42Z",
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/1466894014/zip",
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
}
}
Expand Down
46 changes: 30 additions & 16 deletions devops/scripts/install_drivers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,33 +108,47 @@ InstallIGFX () {
echo "Compute Runtime version $CR_TAG"
echo "CM compiler version $CM_TAG"
echo "Level Zero version $L0_TAG"
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
IGNORE_CHECKSUM=false
DPKG_OPTIONS=""
if [ "$IS_IGC_DEV" == "Yes" ]; then
echo "IGC dev git hash $IGC_DEV_VER"
get_pre_release_igfx $IGC_DEV_URL $IGC_DEV_VER
IGNORE_CHECKSUM=true
DPKG_OPTIONS=" --force-depends-version"
else
echo "IGC version $IGC_TAG"
get_release intel/intel-graphics-compiler $IGC_TAG \
| grep ".*deb" \
| wget -qi -
fi
echo "IGC version $IGC_TAG"
# Always install released igc version first to get rid of the dependency issue
# by installing the igc first, we will satisfy all the dpkg dependencies .
# When we install dev igc later, it will then be treated as downgrade (because dev igc come with lowest version 1.0).
# This can help us avoid using the risky force-depends-version option in dpkg command.
#
# Of course, this also installed the libopencl-clang so that we can copy and use later as a temporariy workaround.
get_release intel/intel-graphics-compiler $IGC_TAG \
jsji marked this conversation as resolved.
Show resolved Hide resolved
| grep ".*deb" \
| wget -qi -
get_release intel/compute-runtime $CR_TAG \
| grep -E ".*((deb)|(sum))" \
| wget -qi -
# Perform the checksum conditionally and then get the release
( [ "$IGNORE_CHECKSUM" ] || sha256sum -c *.sum ) && \
sha256sum -c *.sum && \
get_release intel/cm-compiler $CM_TAG \
| grep ".*deb" \
| grep -v "u18" \
| wget -qi -
get_release oneapi-src/level-zero $L0_TAG \
| grep ".*deb" \
| wget -qi -
dpkg -i $DPKG_OPTIONS *.deb && rm *.deb *.sum
dpkg -i *.deb && rm *.deb *.sum
IS_IGC_DEV=$(CheckIGCdevTag $IGCTAG)
if [ "$IS_IGC_DEV" == "Yes" ]; then
# Dev IGC deb package did not include libopencl-clang
# opencl-clang repo does not provide release deb package either.
# Backup and install it from release igc as a temporarily workaround
# while we working to resolve the issue.
echo "Backup libopencl-clang"
cp -d /usr/local/lib/libopencl-clang.so.14* .
echo "Download IGC dev git hash $IGC_DEV_VER"
get_pre_release_igfx $IGC_DEV_URL $IGC_DEV_VER
echo "Install IGC dev git hash $IGC_DEV_VER"
dpkg -i *.deb
echo "Install libopencl-clang"
# Workaround only, will download deb and install with dpkg once fixed.
cp -d libopencl-clang.so.14* /usr/local/lib/
echo "Clean up"
rm *.deb libopencl-clang.so.14*
fi
}

InstallCPURT () {
Expand Down
3 changes: 2 additions & 1 deletion sycl/test-e2e/ESIMD/hardware_dispatch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_bdw %s -o %t.out
// Add "-options -vc-codegen" explicitly to workaround bug in dev igc package.
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_bdw %s -Xs "-options -vc-codegen" -o %t.out
// RUN: %t.out
// TODO: remove XFAIL when the fix in GPU RT for Windows is updated on CI
// machines
Expand Down
Loading