Skip to content

[SYCL] update dependencies.json with new GPU driver #6031

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

cperkinsintel
Copy link
Contributor

apparently when the GPU driver is uplifted in dependency.conf it also needs to be updated in dependencies.json for the GitHub actions. Note that there is a Draft PR (5965) that will automate this in the future. I hope to address it soon.

Signed-off-by: Chris Perkins [email protected]

… needs to be updated in dependencies.json for the GitHub actions. Note that there is a Draft PR (5965) that will automate this in the future. I hope to address it soon.

Signed-off-by: Chris Perkins <[email protected]>
@cperkinsintel cperkinsintel requested a review from a team as a code owner April 20, 2022 18:31
@cperkinsintel cperkinsintel marked this pull request as draft April 20, 2022 20:37
Signed-off-by: Chris Perkins <[email protected]>
Signed-off-by: Chris Perkins <[email protected]>
tfzhu
tfzhu previously approved these changes Apr 21, 2022
… understand how/what is going on yet

Signed-off-by: Chris Perkins <[email protected]>
@cperkinsintel
Copy link
Contributor Author

cperkinsintel commented Apr 27, 2022

@tfzhu or @yanfeng3721 , can you advise me on this?

So in this PR we are trying to update the GPU driver, which seems to require that igc (intel-graphics-compiler) and cm (cm-compiler) be both updated as well. My first commits in this PR do that.

However, doing so seem to upset the OCL:CPU device. That seem fine, because in dependency.conf I can see that the CPU device is now supposed to be 2022.13.3.0.16, so I updated that as well. But that device is not loading. With some difficulty I was able to run ldd on the cpu shared lib in the context of the docker test container, and there I see libtbb.so.12 => not found. That is somewhat expected.

But weh I go to update the TBB entry in the dependencies.json, I'm a bit at a loss. See below for the relevant passage from dependency.conf. The URL in the comment is for TBB 2021.5.0 but the required version is 2021.6.0.755. And the in the TBB github sources there isn't a tag for 2021.6.0.755, only 2021.6.0-rc1.

# TBB binaries can be built from sources following instructions under
# https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md
# or downloaded using links below:
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-lin.tgz
tbb_ver=2021.6.0.755
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-win.zip
tbb_ver_win=2021.6.0.755

I'm at a loss for what TBB values we should be using.
The dependencies.json has the following

"tbb": {
      "github_tag": "v2021.5.0",
      "version": "2021.5.0",
      "url": "https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-lin.tgz",
      "root": "{DEPS_ROOT}/tbb/lin"
    },

I'm not sure if all those tags are used, but they likely are. What values should I put in for github_tag, version and url ? And how to determine them in the future?

Lastly, am I right to attempt to update the OCL:CPU device? Given that it has been bumped in the dependency.conf, that seems correct, but I should double check. Any input welcome.

@yanfeng3721
Copy link
Contributor

yanfeng3721 commented Apr 28, 2022

@tfzhu or @yanfeng3721 , can you advise me on this?

So in this PR we are trying to update the GPU driver, which seems to require that igc (intel-graphics-compiler) and cm (cm-compiler) be both updated as well. My first commits in this PR do that.

However, doing so seem to upset the OCL:CPU device. That seem fine, because in dependency.conf I can see that the CPU device is now supposed to be 2022.13.3.0.16, so I updated that as well. But that device is not loading. With some difficulty I was able to run ldd on the cpu shared lib in the context of the docker test container, and there I see libtbb.so.12 => not found. That is somewhat expected.

But weh I go to update the TBB entry in the dependencies.json, I'm a bit at a loss. See below for the relevant passage from dependency.conf. The URL in the comment is for TBB 2021.5.0 but the required version is 2021.6.0.755. And the in the TBB github sources there isn't a tag for 2021.6.0.755, only 2021.6.0-rc1.

# TBB binaries can be built from sources following instructions under
# https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md
# or downloaded using links below:
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-lin.tgz
tbb_ver=2021.6.0.755
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-win.zip
tbb_ver_win=2021.6.0.755

I'm at a loss for what TBB values we should be using. The dependencies.json has the following

"tbb": {
      "github_tag": "v2021.5.0",
      "version": "2021.5.0",
      "url": "https://github.com/oneapi-src/oneTBB/releases/download/v2021.5.0/oneapi-tbb-2021.5.0-lin.tgz",
      "root": "{DEPS_ROOT}/tbb/lin"
    },

I'm not sure if all those tags are used, but they likely are. What values should I put in for github_tag, version and url ? And how to determine them in the future?

Lastly, am I right to attempt to update the OCL:CPU device? Given that it has been bumped in the dependency.conf, that seems correct, but I should double check. Any input welcome.

Hi @cperkinsintel, I do not think that all the tags are used currently , the install driver action is only enabled after #5757, it looks like there is still some gab to make TBB works (https://github.com/intel/llvm/blob/sycl/devops/scripts/install_drivers.sh#L22-L35), I suggest to add TBB $INSTALL_LOCATION to env LD_LIBRARY_PATH to make OCLCPU/OCLFPGAEMU to find TBB library.

For the TBB version, v2021.5.0 should be last available public release binaries from https://github.com/oneapi-src/oneTBB. AFAIK, the public TBB release is behind oneAPI release. The uplift of dependency.conf is try to make sure the dependency is aligned with the one used for oneAPI release. So if we switch to use installed TBB from url, we might have to stick to 2021.5.0 until TBB 2021.6 is public.

…ling uses ubuntu_sycl_base and then install_drivers.sh. Former installs at /runtime, latter at /opt/runtime. Still investigating why there is a difference, but this may ameliorate in the interim.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants