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

[intel-mkl] Support Linux #15233

Closed
wants to merge 16 commits into from
Closed

Conversation

JackBoosY
Copy link
Contributor

Support search in linux.

Fixes #15204.

@JackBoosY JackBoosY added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:internal This PR or Issue was filed by the vcpkg team. labels Dec 21, 2020
@JackBoosY
Copy link
Contributor Author

Prepare for #15208.

@JackBoosY
Copy link
Contributor Author

@BillyONeal To delete the linux failure entry of the port in the baseline, we must install Intel-mkl on the linux pipeline machines.

@JackBoosY JackBoosY requested a review from PhoebeHui December 21, 2020 07:36
@BillyONeal
Copy link
Member

The links to intel-mkl we currently install for Windows aren't publicly accessible; someone who cared provided them for our scripts but I don't know how to get to an associated download page. As such, ci.baseline.txt seems appropriate for now: there's no reason it couldn't work, but we don't have great means to test it. Someone who cares would need to give us instructions we could add to provision-image.sh to deploy it.

@JackBoosY
Copy link
Contributor Author

@BillyONeal We should add several commands:

  1. wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
  2. apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
  3. rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
  4. sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
  5. sudo apt-get update
  6. sudo apt-get install intel-mkl-2020.0-000

@BillyONeal BillyONeal added the depends:vm-update PR contains changes to the VM provisioning scripts label Dec 23, 2020
@JackBoosY JackBoosY marked this pull request as draft January 11, 2021 05:59
@JackBoosY JackBoosY linked an issue Jan 11, 2021 that may be closed by this pull request
@Neumann-A
Copy link
Contributor

currently #15204 is not fixed by this PR.

@JackBoosY
Copy link
Contributor Author

@Neumann-A That's why I changed this PR to draft.

@Neumann-A
Copy link
Contributor

portfile.txt
I used the above portfile. You can probably simply merge the Linux/Windows Paths by simply adding the linux path to find_path

@JackBoosY
Copy link
Contributor Author

@Neumann-A
967f60a
Is that what you mean?

@Neumann-A
Copy link
Contributor

@JackBoosY No with the current patchset it still wouldn't be found.

@JackBoosY JackBoosY closed this Feb 7, 2021
@JackBoosY
Copy link
Contributor Author

Close this PR temporary.

@AND2797
Copy link

AND2797 commented May 4, 2021

Is there a way to locally test changes?

@BillyONeal
Copy link
Member

Is there a way to locally test changes?

You can pull Jack's branch

@BillyONeal BillyONeal removed the depends:vm-update PR contains changes to the VM provisioning scripts label Jun 1, 2021
@BillyONeal
Copy link
Member

Dropping vm update tag since there are no vm update changes in the pr

@JackBoosY
Copy link
Contributor Author

Close this PR temporary.

@JackBoosY JackBoosY closed this Jun 7, 2021
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 88b1071e39f13b632644d9d953738d345a4ac055 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index ae7869dc..416b2a00 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3046,7 +3046,7 @@
     },
     "intel-mkl": {
       "baseline": "2020.0.0",
-      "port-version": 2
+      "port-version": 3
     },
     "intelrdfpmathlib": {
       "baseline": "20U2",
diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json
index 1c5ffb0e..c900a741 100644
--- a/versions/i-/intel-mkl.json
+++ b/versions/i-/intel-mkl.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "f7ebdf18103f6d02eb173fc64ddef9cd3d80346f",
+      "version": "2020.0.0",
+      "port-version": 3
+    },
     {
       "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9",
       "version": "2020.0.0",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/intel-mkl/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 88b1071e39f13b632644d9d953738d345a4ac055 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 1d942429..31cb1d21 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3058,7 +3058,7 @@
     },
     "intel-mkl": {
       "baseline": "2020.0.0",
-      "port-version": 2
+      "port-version": 3
     },
     "intelrdfpmathlib": {
       "baseline": "20U2",
diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json
index 1c5ffb0e..800b9521 100644
--- a/versions/i-/intel-mkl.json
+++ b/versions/i-/intel-mkl.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "497999f5fb011aed88b6e01ac43eb11a22ebb7aa",
+      "version": "2020.0.0",
+      "port-version": 3
+    },
     {
       "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9",
       "version": "2020.0.0",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/intel-mkl/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 88b1071e39f13b632644d9d953738d345a4ac055 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 1d942429..31cb1d21 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3058,7 +3058,7 @@
     },
     "intel-mkl": {
       "baseline": "2020.0.0",
-      "port-version": 2
+      "port-version": 3
     },
     "intelrdfpmathlib": {
       "baseline": "20U2",
diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json
index 1c5ffb0e..18552227 100644
--- a/versions/i-/intel-mkl.json
+++ b/versions/i-/intel-mkl.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "002881c8b3e9d7a6b4feca6568dfaadfe49e52a7",
+      "version": "2020.0.0",
+      "port-version": 3
+    },
     {
       "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9",
       "version": "2020.0.0",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/intel-mkl/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 88b1071e39f13b632644d9d953738d345a4ac055 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 1d942429..31cb1d21 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3058,7 +3058,7 @@
     },
     "intel-mkl": {
       "baseline": "2020.0.0",
-      "port-version": 2
+      "port-version": 3
     },
     "intelrdfpmathlib": {
       "baseline": "20U2",
diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json
index 1c5ffb0e..18552227 100644
--- a/versions/i-/intel-mkl.json
+++ b/versions/i-/intel-mkl.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "002881c8b3e9d7a6b4feca6568dfaadfe49e52a7",
+      "version": "2020.0.0",
+      "port-version": 3
+    },
     {
       "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9",
       "version": "2020.0.0",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/intel-mkl/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 88b1071e39f13b632644d9d953738d345a4ac055 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 1d942429..31cb1d21 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3058,7 +3058,7 @@
     },
     "intel-mkl": {
       "baseline": "2020.0.0",
-      "port-version": 2
+      "port-version": 3
     },
     "intelrdfpmathlib": {
       "baseline": "20U2",
diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json
index 1c5ffb0e..18552227 100644
--- a/versions/i-/intel-mkl.json
+++ b/versions/i-/intel-mkl.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "002881c8b3e9d7a6b4feca6568dfaadfe49e52a7",
+      "version": "2020.0.0",
+      "port-version": 3
+    },
     {
       "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9",
       "version": "2020.0.0",

You have modified or added at least one vcpkg.json where you should check the license field.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/intel-mkl/vcpkg.json

Valid values for the license field can be found in the documentation

@JackBoosY JackBoosY marked this pull request as ready for review September 2, 2022 01:55
github-actions[bot]
github-actions bot previously approved these changes Sep 2, 2022
@JackBoosY JackBoosY added the depends:vm-update PR contains changes to the VM provisioning scripts label Sep 2, 2022
@JackBoosY
Copy link
Contributor Author

intel-mkl is not avaliable on brew, so I can only add Linux support here.

BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Sep 20, 2022
@BillyONeal
Copy link
Member

Note that this is likely to cause changes in which implementation if Lapack is selected because CMake's built in FindLAPACK seems to prefer MKL over what we currently are trying to use, OpenBLAS. See https://cmake.org/cmake/help/latest/module/FindLAPACK.html / https://cmake.org/cmake/help/latest/module/FindBLAS.html#blas-lapack-vendors

@JackBoosY
Copy link
Contributor Author

Note that this is likely to cause changes in which implementation if Lapack is selected because CMake's built in FindLAPACK seems to prefer MKL over what we currently are trying to use, OpenBLAS. See https://cmake.org/cmake/help/latest/module/FindLAPACK.html / https://cmake.org/cmake/help/latest/module/FindBLAS.html#blas-lapack-vendors

So should we fix lapack issue first? #21479

vicroms pushed a commit that referenced this pull request Sep 26, 2022
* Revert Linux to Ubuntu 20.04.

* Cherry-pick intel-mkl from #15233

* Update pwsh to 7.2.6.

* Temporarily remove ci.baseline.txt skips for ICEs.

* Fix ICU version for Ubuntu version change.

* Update pools.

* Merge apt installs and fix WSL CUDA bindings.

* Fix WSL detection.

* Remove WSL specific nvidia because it misses nccl and cudnn.

* Add python-yaml for duktape.

* [shogun] Force use of OpenBLAS as the Lapack implementation.

Shogun declares a dependency on blas, which we have set to openblas. Installing Intel MKL on the VMs caused build of Shogun to fail because it tried to use MKL and that build is broken.

* Put colmap, graphicsmagick, and mfl skips back, as they are clearly not fixed.

* PASSING, REMOVE FROM FAIL LIST: jemalloc:x64-osx (/Users/vagrant/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).

* Update pool.

* Revert the intel-mkl changes until the BLAS/LAPACK vendoring problem is fixed.

* Update pool.

* Explicitly add bison, needed by gettext.

* Update pools
@JackBoosY
Copy link
Contributor Author

Okay, according to the feedback in #15204, this PR is just waiting for #21479 merge.

@JackBoosY JackBoosY added the depends:different-pr This PR or Issue depends on a PR which has been filed label Oct 8, 2022
@JackBoosY
Copy link
Contributor Author

In favor of #29437

@JackBoosY JackBoosY closed this Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist depends:different-pr This PR or Issue depends on a PR which has been filed depends:vm-update PR contains changes to the VM provisioning scripts info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
7 participants