helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: Fix GLM 4.7 Lite MoE gating func

GLM 4.7 Lite uses SIGMOID, not SOFTMAX like Deepseek.

Changed files:
filename: src/llama-model.cpp
patch: @@ -1713,7 +1713,12 @@ void llama_model::load_hparams(llama_model_loader & ml) {
                 if (hparams.expert_gating_func == LLAMA_EXPERT_GATING_FUNC_TYPE_NONE) {
                     // for compatibility with existing DeepSeek V2 and V2.5 GGUFs
                     // that have no expert_gating_func model parameter set
-                    hparams.expert_gating_func = LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX;
+                    if ((hparams.n_layer == 47 || hparams.n_layer == 48) && n_vocab == 154880) {
+                        // GLM 4.7 Lite
+                        hparams.expert_gating_func = LLAMA_EXPERT_GATING_FUNC_TYPE_SIGMOID;
+                    } else {
+                        hparams.expert_gating_func = LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX;
+                    }
                 }
 
                 if (ml.get_key(LLM_KV_ROPE_SCALING_YARN_LOG_MUL, hparams.rope_yarn_log_mul, 0.0f)) {
Repository: vuejs/vue
Pull request: Fix Spelling


Changed files:
filename: packages/vue-server-renderer/build.js
patch: @@ -3459,7 +3459,7 @@ function parse(template, options) {
 
       if (process.env.VUE_ENV !== 'server' && isForbiddenTag(element)) {
         element.forbidden = true;
-        process.env.NODE_ENV !== 'production' && warn$1('Templates should only be responsbile for mapping the state to the ' + 'UI. Avoid placing tags with side-effects in your templates, such as ' + ('<' + tag + '>.'));
+        process.env.NODE_ENV !== 'production' && warn$1('Templates should only be responsible for mapping the state to the ' + 'UI. Avoid placing tags with side-effects in your templates, such as ' + ('<' + tag + '>.'));
       }
 
       // apply pre-transforms

filename: packages/vue-template-compiler/build.js
patch: @@ -3241,7 +3241,7 @@ function parse(template, options) {
 
       if (process.env.VUE_ENV !== 'server' && isForbiddenTag(element)) {
         element.forbidden = true;
-        process.env.NODE_ENV !== 'production' && warn$1('Templates should only be responsbile for mapping the state to the ' + 'UI. Avoid placing tags with side-effects in your templates, such as ' + ('<' + tag + '>.'));
+        process.env.NODE_ENV !== 'production' && warn$1('Templates should only be responsible for mapping the state to the ' + 'UI. Avoid placing tags with side-effects in your templates, such as ' + ('<' + tag + '>.'));
       }
 
       // apply pre-transforms

filename: src/compiler/parser/index.js
patch: @@ -90,7 +90,7 @@ export function parse (
       if (process.env.VUE_ENV !== 'server' && isForbiddenTag(element)) {
         element.forbidden = true
         process.env.NODE_ENV !== 'production' && warn(
-          'Templates should only be responsbile for mapping the state to the ' +
+          'Templates should only be responsible for mapping the state to the ' +
           'UI. Avoid placing tags with side-effects in your templates, such as ' +
           `<${tag}>.`
         )

filename: test/unit/modules/compiler/parser.spec.js
patch: @@ -61,14 +61,14 @@ describe('parser', () => {
     expect(styleAst.plain).toBe(true)
     expect(styleAst.forbidden).toBe(true)
     expect(styleAst.children[0].text).toBe('error { color: red; }')
-    expect('Templates should only be responsbile for mapping the state').toHaveBeenWarned()
+    expect('Templates should only be responsible for mapping the state').toHaveBeenWarned()
     // script
     const scriptAst = parse('<script type="text/javascript">alert("hello world!")</script>', baseOptions)
     expect(scriptAst.tag).toBe('script')
     expect(scriptAst.plain).toBe(false)
     expect(scriptAst.forbidden).toBe(true)
     expect(scriptAst.children[0].text).toBe('alert("hello world!")')
-    expect('Templates should only be responsbile for mapping the state').toHaveBeenWarned()
+    expect('Templates should only be responsible for mapping the state').toHaveBeenWarned()
   })
 
   it('not contain root element', () => {
Repository: facebook/react
Pull request: [ci] Don't cancel runs if more than one branch triggers CI

This might primarily only affect those using Sapling for React development, but pushing the same commit to multiple branches shouldn't cancel the run

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/31848).
* __->__ #31848
* #31847
* #31846

Changed files:
filename: .github/workflows/compiler_playground.yml
patch: @@ -9,7 +9,7 @@ on:
       - .github/workflows/compiler_playground.yml
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
+  group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
   cancel-in-progress: true
 
 env:

filename: .github/workflows/compiler_rust.yml
patch: @@ -16,7 +16,7 @@ on:
       - compiler/*.toml
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
+  group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
   cancel-in-progress: true
 
 env:

filename: .github/workflows/compiler_typescript.yml
patch: @@ -9,7 +9,7 @@ on:
       - .github/workflows/compiler_typescript.yml
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
+  group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
   cancel-in-progress: true
 
 env:

filename: .github/workflows/runtime_build_and_test.yml
patch: @@ -8,7 +8,7 @@ on:
       - compiler/**
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
+  group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
   cancel-in-progress: true
 
 env:

filename: .github/workflows/shared_lint.yml
patch: @@ -6,7 +6,7 @@ on:
   pull_request:
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
+  group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.run_id }}
   cancel-in-progress: true
 
 env:
Repository: electron/electron
Pull request: fix: snapped window restoring to correct position

#### Description of Change

Closes https://github.com/electron/electron/issues/48273.

Fixes an issue where snapped windows aren't correctly snapped when minimized and then unminimized. The windows were restored to the correct position via previous band-aid PRs, but they weren't actually arranged per Windows core functionality. This was due to a workaround present in our WndProc handling for scaling and displays, which a properly arranged window shouldn't need.

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included and stakeholders cc'd
- [x] `npm test` passes
- [x] [PR release notes](https://github.com/electron/clerk/blob/main/README.md) describe the change in a way relevant to app developers, and are [capitalized, punctuated, and past tense](https://github.com/electron/clerk/blob/main/README.md#examples).

#### Release Notes

Notes: Fixed an issue where snapped windows aren't correctly snapped when minimized and then unminimized.

Changed files:
filename: shell/browser/native_window_views_win.cc
patch: @@ -509,7 +509,7 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
       WINDOWPLACEMENT wp;
       wp.length = sizeof(WINDOWPLACEMENT);
 
-      if (GetWindowPlacement(GetAcceleratedWidget(), &wp)) {
+      if (GetWindowPlacement(GetAcceleratedWidget(), &wp) && !was_snapped_) {
         last_normal_placement_bounds_ = gfx::Rect(wp.rcNormalPosition);
       }
 
@@ -518,11 +518,9 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
       if (w_param == SIZE_MAXIMIZED &&
           last_window_state_ != ui::mojom::WindowShowState::kMaximized) {
         if (last_window_state_ == ui::mojom::WindowShowState::kMinimized) {
-          if (was_snapped_) {
-            SetRoundedCorners(false);
-            was_snapped_ = false;
-          }
           NotifyWindowRestore();
+          if (was_snapped_)
+            was_snapped_ = false;
         }
         last_window_state_ = ui::mojom::WindowShowState::kMaximized;
         NotifyWindowMaximize();
@@ -545,12 +543,10 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
             last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
             NotifyWindowEnterFullScreen();
           } else {
-            if (was_snapped_) {
-              SetRoundedCorners(false);
-              was_snapped_ = false;
-            }
             last_window_state_ = ui::mojom::WindowShowState::kNormal;
             NotifyWindowRestore();
+            if (was_snapped_)
+              was_snapped_ = false;
           }
           break;
         default:
Repository: ggml-org/llama.cpp
Pull request: CUDA: fix alignment check for FA

See https://github.com/ggml-org/llama.cpp/pull/18953#issuecomment-3778465555 .

The problem has to do with the check for memory alignment. The point of the check is to avoid misaligned memory accesses which would result in a crash. But only for floating-point data is it correct to assume alignment in the first place so the check should also only be done for that data.

Changed files:
filename: ggml/src/ggml-cuda/fattn.cu
patch: @@ -46,7 +46,7 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols2(ggml_backend_cuda_con
     //     are put into the template specialization without GQA optimizations.
     bool use_gqa_opt = mask && max_bias == 0.0f && K->ne[1] % FATTN_KQ_STRIDE == 0;
     for (const ggml_tensor * t : {Q, K, V, mask}) {
-        if (t == nullptr) {
+        if (t == nullptr || ggml_is_quantized(t->type)) {
             continue;
         }
         for (size_t i = 1; i < GGML_MAX_DIMS; ++i) {
@@ -236,7 +236,7 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const
     // The kernel versions without this optimization are also used for ALiBi, if there is no mask, or if the KV cache is not padded,
     bool gqa_opt_applies = gqa_ratio % 2 == 0 && mask && max_bias == 0.0f && K->ne[1] % FATTN_KQ_STRIDE == 0;
     for (const ggml_tensor * t : {Q, K, V, mask}) {
-        if (t == nullptr) {
+        if (t == nullptr || ggml_is_quantized(t->type)) {
             continue;
         }
         for (size_t i = 1; i < GGML_MAX_DIMS; ++i) {
Repository: facebook/react
Pull request: [ci] Validate downloaded build artifact

Adds validation to download-build-artifacts to confirm that the downloaded artifact matches what was requested.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/31847).
* #31848
* __->__ #31847
* #31846

Changed files:
filename: scripts/release/shared-commands/download-build-artifacts.js
patch: @@ -3,7 +3,7 @@
 const {join} = require('path');
 const theme = require('../theme');
 const {exec} = require('child-process-promise');
-const {existsSync} = require('fs');
+const {existsSync, readFileSync} = require('fs');
 const {logPromise} = require('../utils');
 
 if (process.env.GH_TOKEN == null) {
@@ -80,7 +80,7 @@ async function getArtifact(workflowRunId, artifactName) {
   return artifact;
 }
 
-async function processArtifact(artifact, releaseChannel) {
+async function processArtifact(artifact, commit, releaseChannel) {
   // Download and extract artifact
   const cwd = join(__dirname, '..', '..', '..');
   await exec(`rm -rf ./build`, {cwd});
@@ -117,6 +117,17 @@ async function processArtifact(artifact, releaseChannel) {
   await exec(`cp -r ./build/${sourceDir} ./build/node_modules`, {
     cwd,
   });
+
+  // Validate artifact
+  const buildSha = readFileSync('./build/COMMIT_SHA', 'utf8').replace(
+    /[\u0000-\u001F\u007F-\u009F]/g,
+    ''
+  );
+  if (buildSha !== commit) {
+    throw new Error(
+      `Requested commit sha does not match downloaded artifact. Expected: ${commit}, got: ${buildSha}`
+    );
+  }
 }
 
 async function downloadArtifactsFromGitHub(commit, releaseChannel) {
@@ -141,7 +152,7 @@ async function downloadArtifactsFromGitHub(commit, releaseChannel) {
               workflowRun.id,
               'artifacts_combined'
             );
-            await processArtifact(artifact, releaseChannel);
+            await processArtifact(artifact, commit, releaseChannel);
             return;
           } else {
             console.log(
Repository: vuejs/vue
Pull request: Allow rendering forbidden tags on the server

Currently if you try to render `<script>` tag on the server side you'll get an error, which is not right, because server is not restricted by the rules of the browser. It is useful if server-side component is rendering the `<html>` tag with `<head>` `<body>` and everything else


Changed files:
filename: src/compiler/parser/index.js
patch: @@ -85,7 +85,7 @@ export function parse (
         element.ns = ns
       }
 
-      if (isForbiddenTag(element)) {
+      if (process.env.VUE_ENV !== 'server' && isForbiddenTag(element)) {
         element.forbidden = true
         process.env.NODE_ENV !== 'production' && warn(
           'Templates should only be responsbile for mapping the state to the ' +
Repository: ollama/ollama
Pull request: Bump Go patch version

Fixes #5774 

Changed files:
filename: .github/workflows/release.yaml
patch: @@ -31,7 +31,7 @@ jobs:
           security set-keychain-settings -lut 3600 build.keychain
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - name: Build Darwin
         env:
@@ -87,7 +87,7 @@ jobs:
           write-host "plugin installed"
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - run: go get ./...
       - run: |
@@ -141,7 +141,7 @@ jobs:
           write-host "plugin installed"
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - name: 'Install ROCm'
         run: |
@@ -218,7 +218,7 @@ jobs:
           write-host "plugin installed"
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - name: 'Install CUDA'
         run: |
@@ -306,7 +306,7 @@ jobs:
           write-host "plugin installed"
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - run: go get
       - uses: actions/download-artifact@v4

filename: .github/workflows/test.yaml
patch: @@ -63,7 +63,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - run: go get ./...
       - run: |
@@ -163,7 +163,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - name: 'Install ROCm'
         run: |
@@ -200,7 +200,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - name: 'Install CUDA'
         run: |
@@ -255,7 +255,7 @@ jobs:
           submodules: recursive
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: false
       - run: |
           case ${{ matrix.arch }} in
@@ -297,7 +297,7 @@ jobs:
           submodules: recursive
       - uses: actions/setup-go@v5
         with:
-          go-version-file: go.mod
+          go-version: "stable"
           cache: true
       - run: |
           case ${{ matrix.arch }} in
Repository: electron/electron
Pull request: fix: runtime JS error that crashes `GetPackageJSON`

Backport of #48293

See that PR for details.


Notes:  fix: runtime JS error that crashes `GetPackageJSON`

Changed files:
filename: shell/common/api/electron_api_asar.cc
patch: @@ -191,13 +191,15 @@ class Archive : public node::ObjectWrap {
 static void SplitPath(const v8::FunctionCallbackInfo<v8::Value>& args) {
   auto* isolate = args.GetIsolate();
 
+  auto dict = gin_helper::Dictionary::CreateEmpty(isolate);
+  args.GetReturnValue().Set(dict.GetHandle());
+
   base::FilePath path;
   if (!gin::ConvertFromV8(isolate, args[0], &path)) {
-    args.GetReturnValue().Set(v8::False(isolate));
+    dict.Set("isAsar", false);
     return;
   }
 
-  auto dict = gin_helper::Dictionary::CreateEmpty(isolate);
   base::FilePath asar_path, file_path;
   if (asar::GetAsarArchivePath(path, &asar_path, &file_path, true)) {
     dict.Set("isAsar", true);
@@ -206,7 +208,6 @@ static void SplitPath(const v8::FunctionCallbackInfo<v8::Value>& args) {
   } else {
     dict.Set("isAsar", false);
   }
-  args.GetReturnValue().Set(dict.GetHandle());
 }
 
 void Initialize(v8::Local<v8::Object> exports,
Repository: nodejs/node
Pull request: lib: optimize priority queue

Further improves performance and fixes leftover issues from my last [PR](https://github.com/nodejs/node/pull/57100)

- Makes heap PACKED
- Forces V8 optimization when resizing
- [Removes dead code](https://github.com/nodejs/node/pull/60039#issuecomment-3343744202)

Benchmarks:

main
```sh
node % ./node benchmark/run.js --filter priority util

util/priority-queue.js
util/priority-queue.js n=100000: 6,676,867.584962973
```

branch
```sh
node % ./node benchmark/run.js --filter priority util

util/priority-queue.js
util/priority-queue.js n=100000: 6,854,890.535966754
```

Changed files:
filename: lib/internal/priority_queue.js
patch: @@ -1,9 +1,5 @@
 'use strict';
 
-const {
-  Array,
-} = primordials;
-
 // The PriorityQueue is a basic implementation of a binary heap that accepts
 // a custom sorting function via its constructor. This function is passed
 // the two nodes to compare, similar to the native Array#sort. Crucially
@@ -12,7 +8,7 @@ const {
 
 module.exports = class PriorityQueue {
   #compare = (a, b) => a - b;
-  #heap = new Array(64);
+  #heap = [undefined, undefined];
   #setPosition;
   #size = 0;
 
@@ -28,9 +24,6 @@ module.exports = class PriorityQueue {
     const pos = ++this.#size;
     heap[pos] = value;
 
-    if (heap.length === pos)
-      heap.length *= 2;
-
     this.percolateUp(pos);
   }
 
@@ -45,6 +38,7 @@ module.exports = class PriorityQueue {
   percolateDown(pos) {
     const compare = this.#compare;
     const setPosition = this.#setPosition;
+    const hasSetPosition = setPosition !== undefined;
     const heap = this.#heap;
     const size = this.#size;
     const hsize = size >> 1;
@@ -62,22 +56,23 @@ module.exports = class PriorityQueue {
 
       if (compare(item, childItem) <= 0) break;
 
-      if (setPosition !== undefined)
+      if (hasSetPosition)
         setPosition(childItem, pos);
 
       heap[pos] = childItem;
       pos = child;
     }
 
     heap[pos] = item;
-    if (setPosition !== undefined)
+    if (hasSetPosition)
       setPosition(item, pos);
   }
 
   percolateUp(pos) {
     const heap = this.#heap;
     const compare = this.#compare;
     const setPosition = this.#setPosition;
+    const hasSetPosition = setPosition !== undefined;
     const item = heap[pos];
 
     while (pos > 1) {
@@ -86,13 +81,13 @@ module.exports = class PriorityQueue {
       if (compare(parentItem, item) <= 0)
         break;
       heap[pos] = parentItem;
-      if (setPosition !== undefined)
+      if (hasSetPosition)
         setPosition(parentItem, pos);
       pos = parent;
     }
 
     heap[pos] = item;
-    if (setPosition !== undefined)
+    if (hasSetPosition)
       setPosition(item, pos);
   }
Repository: facebook/react
Pull request: [ci] Allow build artifacts to be downloaded from any branch

This was previously scoped to just commits on `main` but this restriction is unnecessary.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/31846).
* #31848
* #31847
* __->__ #31846

Changed files:
filename: scripts/release/shared-commands/download-build-artifacts.js
patch: @@ -39,18 +39,16 @@ function getWorkflowId() {
 
 async function getWorkflowRun(commit) {
   const res = await exec(
-    `curl -L ${GITHUB_HEADERS} https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${getWorkflowId()}/runs?head_sha=${commit}&branch=main&exclude_pull_requests=true`
+    `curl -L ${GITHUB_HEADERS} https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${getWorkflowId()}/runs?head_sha=${commit}`
   );
 
   const json = JSON.parse(res.stdout);
-  let workflowRun;
-  if (json.total_count === 1) {
-    workflowRun = json.workflow_runs[0];
-  } else {
-    workflowRun = json.workflow_runs.find(
-      run => run.head_sha === commit && run.head_branch === 'main'
-    );
-  }
+  const workflowRun = json.workflow_runs.find(
+    run =>
+      run.head_sha === commit &&
+      run.status === 'completed' &&
+      run.conclusion === 'success'
+  );
 
   if (workflowRun == null || workflowRun.id == null) {
     console.log(
@@ -68,14 +66,9 @@ async function getArtifact(workflowRunId, artifactName) {
   );
 
   const json = JSON.parse(res.stdout);
-  let artifact;
-  if (json.total_count === 1) {
-    artifact = json.artifacts[0];
-  } else {
-    artifact = json.artifacts.find(
-      _artifact => _artifact.name === artifactName
-    );
-  }
+  const artifact = json.artifacts.find(
+    _artifact => _artifact.name === artifactName
+  );
 
   if (artifact == null) {
     console.log(
Repository: ollama/ollama
Pull request: bump go version to 1.22.5 to fix security vulnerabilities in docker

The existing Version of 1.22.1 Is showing Security Vulnerabilities when scanned by Prisma

Scan results for: image ollama/ollama:latest sha256:56505af4d7ed5e66de96c124c21312aee6cdd518098efd0fa524738f24b1a701
Vulnerabilities
|       CVE        | SEVERITY | CVSS |         PACKAGE          |        VERSION        |          STATUS          | PUBLISHED  | DISCOVERED |                    DESCRIPTION                     |
| CVE-2024-24790   | critical | 9.80 | net/netip                | 1.22.1                | fixed in 1.21.11, 1.22.4 | 42 days    | < 1 hour   | The various Is methods (IsPrivate, IsLoopback,     |
|                  |          |      |                          |                       | 42 days ago              |            |            

This minor update to GO 1.22.5 fixes the CRITICAL CVE-2024-24790, as well as corrects the MEDIUM  CVE-2024-24791  .

I locally built and tested the Docker Build.

Scan results for: image ollama_orig_1_22_5:latest sha256:5b7f98e681c9a7b807d02beecc2eb303a5303a6cd248dcf448ae360e79b759ab
Vulnerabilities found for image ollama_orig_1_22_5:latest: total - 16, critical - 0, high - 0, medium - 4, low - 12

It would be great to get these fixes in ASAP.


Changed files:
filename: Dockerfile
patch: @@ -1,4 +1,4 @@
-ARG GOLANG_VERSION=1.22.1
+ARG GOLANG_VERSION=1.22.5
 ARG CMAKE_VERSION=3.22.1
 # this CUDA_VERSION corresponds with the one specified in docs/gpu.md
 ARG CUDA_VERSION=11.3.1