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

[onnxruntime] Refactor install process #23768

Closed
wants to merge 28 commits into from

Conversation

JackBoosY
Copy link
Contributor

@JackBoosY JackBoosY commented Mar 25, 2022

The purpose of this PR is to change the direct installation of precompiled binaries to generate binaries via the cmake build system:

  1. Refactor onnxruntime-gpu.
  2. Rename port onnxruntime-cpu to onnxruntime and add feature gpu.
  3. Set onnxruntime-gpu as a empty port and depends on onnxruntime[gpu].

Fixes #20548.

@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 Mar 25, 2022
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 a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 830818f..967d62e 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..9c7641e 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "faee025bc77f3bae54d9305bc6361e622df4c719",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/vcpkg.json

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

@JackBoosY
Copy link
Contributor Author

@snnn
There still remains some build errors:

...
 Assembling: F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(110) : error A2119:language type must be specified
 NESTED_ENTRY(28): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(110): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(112) : error A2008:syntax error : .
 rex_push_reg(4): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(112): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(113) : error A2008:syntax error : .
 push_reg(3): Macro Called From
  F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(113): Main Line Code
F:\vcpkg\buildtrees\onnxruntime-gpu\src\53c7b640c1-c8ff6da815\onnxruntime\core\mlas\lib\amd64\QgemmU8S8KernelAvx2.asm(114) : error A2008:syntax error : .
...

Can you please take a look?

Thanks.

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 a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 830818f..967d62e 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..a3b3d33 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "a8f1f30171b4d44a83e0efc2821411a6ecbf86ce",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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 a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..f63f063 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "8c4232954897e70f090c4131096a09e49e93703d",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index bfb2ad5..d1e4ae6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -15,10 +15,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..f9197d1 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "2839acfe6ee1afcd94eef0b0a04bb3b5635fefe1",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/vcpkg.json

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

@JackBoosY
Copy link
Contributor Author

Depends on #23811.

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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..1b98c05 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "00e2252146848f97d5e8b2b84d77225b4edc2c2c",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..a36d46b 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "dc4c461689a81d7dfaf5feeab01fdd7c9829026d",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..3f02e28 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "1405a1116eb6b44b3b6350832b085bd750233c79",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout a76eb002a71b6cf7bad343f5e3376dfe6bb83c5c -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 71358c2..eabd793 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..5ebfa50 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "4185126f99ca2098f10764a890aa902f9850d449",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 5f62686b96cecc91a5d02ea188857a24efd3ef4f -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 316e85c..f9296b2 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..5ebfa50 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "4185126f99ca2098f10764a890aa902f9850d449",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json
index 8e9bb62..6bce1d6 100644
--- a/ports/onnxruntime-gpu/vcpkg.json
+++ b/ports/onnxruntime-gpu/vcpkg.json
@@ -19,10 +19,10 @@
     "protobuf",
     "re2",
     "safeint",
-    "wil",
     {
       "name": "vcpkg-cmake",
       "host": true
-    }
+    },
+    "wil"
   ]
 }
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 5f62686b96cecc91a5d02ea188857a24efd3ef4f -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index a63c42f..c3ecd68 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5005,8 +5005,8 @@
       "port-version": 0
     },
     "onnxruntime-gpu": {
-      "baseline": "1.5.1",
-      "port-version": 1
+      "baseline": "1.10.0",
+      "port-version": 0
     },
     "oof": {
       "baseline": "2021-11-23",
diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json
index 1fe9baf..434e0f4 100644
--- a/versions/o-/onnxruntime-gpu.json
+++ b/versions/o-/onnxruntime-gpu.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "1a50c883e0cb4a121331129b4c078326e181ae40",
+      "version": "1.10.0",
+      "port-version": 0
+    },
     {
       "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b",
       "version": "1.5.1",

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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.

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/vcpkg.json

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

@JackBoosY
Copy link
Contributor Author

JackBoosY commented Apr 6, 2022

The regression is a nvidia cub issue: https://developer.nvidia.com/nvidia_bug/3597169 and was fixed by cub 1.16.0: NVIDIA/cub#423.

Waiting for the next cuda release.

@JackBoosY
Copy link
Contributor Author

JackBoosY commented Apr 6, 2022

Requires #24000.

Comment on lines +55 to +56
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

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!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for onnxruntime but no changes to version or port version.
-- Version: 1.10.0
-- Old SHA: 997e14c6182e9be576208cb664d65ce15fc25545
-- New SHA: 97dbbd1a31ff884c4ecfe95f8849303dfaab5f82
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for onnxruntime but no changes to version or port version.
-- Version: 1.10.0
-- Old SHA: 997e14c6182e9be576208cb664d65ce15fc25545
-- New SHA: 97dbbd1a31ff884c4ecfe95f8849303dfaab5f82
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/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!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for onnxruntime but no changes to version or port version.
-- Version: 1.10.0
-- Old SHA: 997e14c6182e9be576208cb664d65ce15fc25545
-- New SHA: 97dbbd1a31ff884c4ecfe95f8849303dfaab5f82
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

You have modified or added at least one vcpkg.json where a "license" field is missing.

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

  • ports/onnxruntime-gpu/vcpkg.json

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

-Donnxruntime_BUILD_UNIT_TESTS=OFF
-Donnxruntime_BUILD_CSHARP=OFF
-Donnxruntime_BUILD_OBJC=OFF
-Donnxruntime_USE_PREINSTALLED_EIGEN=ON
Copy link
Member

Choose a reason for hiding this comment

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

Isn't this vendored stuff? (Maybe it's entirely encapsulated in their DLL though...)

Comment on lines +73 to +75
-Donnxruntime_USE_AVX=OFF
-Donnxruntime_USE_AVX2=OFF
-Donnxruntime_USE_AVX512=OFF
Copy link
Member

Choose a reason for hiding this comment

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

Are we sure about these? It probably makes any cpu use of this thing useless.

Copy link
Member

Choose a reason for hiding this comment

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

When onnxruntime_USE_AVX is ON, the target CPU must have AVX, otherwise the generated binaries will crash. The build machine might not be the one which will run the code, so it doesn't know if the target CPU has AVX or not.

However, even when all these options are off, our math lib, mlas, still can use AVX/AVX2/AVX512 instructions. It dynamically detect the target CPU's capability. Eigen doesn't do it. ONNX Runtime uses Eigen too. So these options are mainly for the kernels that do not use mlas.

Copy link
Member

Choose a reason for hiding this comment

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

Sounds good. That probably deserves a comment.

-Donnxruntime_USE_VALGRIND=OFF
-Donnxruntime_RUN_MODELTEST_IN_DEBUG_MODE=OFF
-Donnxruntime_FUZZ_TEST=OFF
-Donnxruntime_USE_NCCL=OFF
Copy link
Member

Choose a reason for hiding this comment

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

NCCL is part of CUDA. Should this one be controlled by the GPU feature?

-Donnxruntime_USE_TENSORRT=OFF
-Donnxruntime_ENABLE_LTO=ON
-Donnxruntime_DEBUG_NODE_INPUTS_OUTPUTS=OFF
-Donnxruntime_USE_ROCM=OFF # AMD GPU SUPPORT
Copy link
Member

Choose a reason for hiding this comment

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

This suggests that the name of the feature should be "cuda" rather than "gpu"? (If the AMD support ever gets fixed that lets us introduce a feature in the future "gpu" that depends on both cuda and amdgpu or similar)

-Donnxruntime_ENABLE_CUDA_LINE_NUMBER_INFO=OFF
-Donnxruntime_GENERATE_TEST_REPORTS=OFF
-Donnxruntime_ENABLE_STATIC_ANALYSIS=OFF
-Donnxruntime_ENABLE_PYTHON=OFF
Copy link
Member

Choose a reason for hiding this comment

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

Do you need to still pass a python binary given that you set ENABLE_PYTHON to off?

Copy link
Member

Choose a reason for hiding this comment

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

When onnxruntime_BUILD_SHARED_LIB is ON, we need a python interpreter to do codegen. See: https://github.com/microsoft/onnxruntime/blob/master/cmake/onnxruntime.cmake#L49 The script generates a DLL def file.

-Donnxruntime_CROSS_COMPILING=${CROSS_BUILD}
-DCMAKE_INSTALL_INCLUDEDIR=include
"-DPython_EXECUTABLE=${PYTHON3}"
-Donnxruntime_RUN_ONNX_TESTS=OFF
Copy link
Member

Choose a reason for hiding this comment

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

How do these options compare to the options used to build the DLLs that we used to download/deploy? (Will customers see one of these things that are off and consider it a regression?)

Comment on lines +33 to +34
"cuda",
"cudnn"
Copy link
Member

Choose a reason for hiding this comment

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

These mean the port is expected to call vcpkg_find_cuda but I don't see such a call here?

@JackBoosY
Copy link
Contributor Author

I will continue this PR when the next CUDA release published.

@Dr-Electron
Copy link
Contributor

I will continue this PR when the next CUDA release published.

Hi, I guess you meant the 11.7 release? Does that mean you will soon continue on this, now that 11.7 got released? Would love to use this package. Not sure if I can help somehow (maybe by testing or something)

@JackBoosY
Copy link
Contributor Author

@Dr-Electron Yes, the current CUDA version has a critical bug that stop onnxruntime build.

@BillyONeal
Copy link
Member

To clarify: Is the problem that our VMs have CUDA 11.6 rather than 11.7, or that it isn't fixed in 11.7 yet either?

@JackBoosY
Copy link
Contributor Author

cuda_11.6.2_511.65_windows has the bug, but I found CUDA already published cuda_11.7.0_516.01_windows.
I will look at this later.

@JackBoosY
Copy link
Contributor Author

JackBoosY commented May 19, 2022

The bug preventing this is that Cub 1.5 has a bug affecting windows macros in Windows.h.
Upstream PR NVIDIA/cub#423 fixed this issue.

@JackBoosY
Copy link
Contributor Author

No, CUDA 11.7.0 doesn't contain the bug fix.

@JackBoosY
Copy link
Contributor Author

Note to me: upstream bug: https://developer.nvidia.com/nvidia_bug/3597169.

@BillyONeal
Copy link
Member

Thanks for clarifying!

@mattiasbax
Copy link

What would be my options to wait for CTK 12.x for the fix when it comes to building the onnxruntime .dlls?

@JackBoosY
Copy link
Contributor Author

What would be my options to wait for CTK 12.x for the fix when it comes to building the onnxruntime .dlls?

I think this is useless, CUDA still forces the internal cub to be used even though the cub containing the fixed version of vcpkg is declared to be used.

@JackBoosY
Copy link
Contributor Author

@JackBoosY JackBoosY closed this Oct 10, 2022
@ankurvdev
Copy link
Contributor

Not sure why this was closed.

If CUDA is an issue. Could we do it two steps
disable CUDA and build onnxruntime with CPU only (without CUDA)
and
add CUDA later when we fix the CUDA related issues.

@JackBoosY
Copy link
Contributor Author

If CUDA is an issue. Could we do it two steps disable CUDA and build onnxruntime with CPU only (without CUDA) and add CUDA later when we fix the CUDA related issues.

We should always ensure that already supported features are always guaranteed to be available.

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 info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[New Port Request] ONNX Runtime
7 participants