helloadhavan/github_issues huggingface dataset:
Repository: huggingface/transformers
Pull request: Fix no_split_modules for Llama4 pretrained models

# What does this PR do?

This PR moves the definition of `_no_split_modules` for Llama4 pre-trained models from the base `Llama4PreTrainedModel` class to the subclasses so each model has the correct set of modules.

Otherwise loading the `Llama4ForCausalLM` currently fails because it doesn't have the `Llama4VisionEncoderLayer` module.

Fixes #37672

## Who can review?

@ArthurZucker @amyeroberts @qubvel

Changed files:
filename: src/transformers/models/llama4/modeling_llama4.py
patch: @@ -474,7 +474,6 @@ class Llama4PreTrainedModel(PreTrainedModel):
     _supports_quantized_cache = True
     _supports_static_cache = True
     _supports_attention_backend = True
-    _no_split_modules = ["Llama4TextDecoderLayer", "Llama4VisionEncoderLayer"]
 
     def _init_weights(self, module):
         std = (
@@ -927,6 +926,7 @@ def _prepare_4d_causal_attention_mask_with_cache_position(
 
 
 class Llama4ForCausalLM(Llama4PreTrainedModel, GenerationMixin):
+    _no_split_modules = ["Llama4TextDecoderLayer"]
     base_model_prefix = "language_model"
     _tied_weights_keys = ["lm_head.weight"]
     _tp_plan = {"lm_head": "colwise_rep"}
@@ -1583,6 +1583,7 @@ def forward(
 
 
 class Llama4ForConditionalGeneration(Llama4PreTrainedModel, GenerationMixin):
+    _no_split_modules = ["Llama4TextDecoderLayer", "Llama4VisionEncoderLayer"]
     _tp_plan = {}
     base_model_prefix = ""
     config_class = Llama4Config
Repository: vercel/next.js
Pull request: Update Turbopack development test manifest

This auto-generated PR updates the development integration test manifest used when testing Turbopack.

Changed files:
filename: test/turbopack-dev-tests-manifest.json
patch: @@ -1096,6 +1096,16 @@
     "flakey": [],
     "runtimeError": false
   },
+  "packages/next/src/server/lib/fix-mojibake.test.ts": {
+    "passed": [
+      "Mojibake handling should fix invalid encoding",
+      "Mojibake handling should maintain value when encoding is correct $1"
+    ],
+    "failed": [],
+    "pending": [],
+    "flakey": [],
+    "runtimeError": false
+  },
   "packages/next/src/server/lib/i18n-provider.test.ts": {
     "passed": [
       "I18NProvider analyze for pathname / and defaultLocale en",
@@ -6439,6 +6449,13 @@
     "flakey": [],
     "runtimeError": false
   },
+  "test/e2e/app-dir/metadata-svg-icon/metadata-svg-icon.test.ts": {
+    "passed": ["metadata-svg-icon should have sizes=any for .svg icon"],
+    "failed": [],
+    "pending": [],
+    "flakey": [],
+    "runtimeError": false
+  },
   "test/e2e/app-dir/metadata-thrown/metadata-thrown.test.ts": {
     "passed": [
       "app dir - metadata thrown should not crash from error thrown during preloading nested generateMetadata"
@@ -9006,7 +9023,8 @@
       "use-cache should dedupe with react cache inside \"use cache\"",
       "use-cache should error when cookies/headers/draftMode is used inside \"use cache\"",
       "use-cache should not have unhandled rejection of Request data promises when use cache is enabled without dynamicIO",
-      "use-cache should not read nor write cached data when draft mode is enabled",
+      "use-cache should not read nor write cached data when draft mode is enabled js disabled",
+      "use-cache should not read nor write cached data when draft mode is enabled js enabled",
       "use-cache should not use stale caches in server actions that have revalidated",
       "use-cache should override fetch with cookies/auth in use cache properly",
       "use-cache should override fetch with no-store in use cache properly",
Repository: facebook/react
Pull request: Remove usage of Array#fill to fix IE11

Fixes https://github.com/facebook/react/issues/20069.

Changed files:
filename: packages/react-reconciler/src/ReactFiberLane.js
patch: @@ -640,7 +640,13 @@ export function higherLanePriority(
 }
 
 export function createLaneMap<T>(initial: T): LaneMap<T> {
-  return new Array(TotalLanes).fill(initial);
+  // Intentionally pushing one by one.
+  // https://v8.dev/blog/elements-kinds#avoid-creating-holes
+  const laneMap = [];
+  for (let i = 0; i < TotalLanes; i++) {
+    laneMap.push(initial);
+  }
+  return laneMap;
 }
 
 export function markRootUpdated(
Repository: electron/electron
Pull request: fix: native `View` wrapper crash missing when adding child view

Backport of #43638

See that PR for details.


Notes: Fixed an issue where `WebContentsView`s did not show correctly in some circumstances on macOS after being added as child views.

Changed files:
filename: shell/browser/ui/cocoa/delayed_native_view_host.mm
patch: @@ -15,13 +15,9 @@
 
 void DelayedNativeViewHost::ViewHierarchyChanged(
     const views::ViewHierarchyChangedDetails& details) {
-  // NativeViewHost doesn't expect to have children, so filter the
-  // ViewHierarchyChanged events before passing them on.
-  if (details.child == this) {
-    NativeViewHost::ViewHierarchyChanged(details);
-    if (details.is_add && GetWidget() && !native_view())
-      Attach(native_view_);
-  }
+  NativeViewHost::ViewHierarchyChanged(details);
+  if (details.is_add && GetWidget() && !native_view())
+    Attach(native_view_);
 }
 
 bool DelayedNativeViewHost::OnMousePressed(const ui::MouseEvent& ui_event) {

filename: spec/api-view-spec.ts
patch: @@ -36,6 +36,18 @@ describe('View', () => {
     expect(w.contentView.children).to.have.lengthOf(1);
   });
 
+  it('can be added as a child of another View', async () => {
+    const w = new BaseWindow();
+    const v1 = new View();
+    const v2 = new View();
+
+    v1.addChildView(v2);
+    w.contentView.addChildView(v1);
+
+    expect(w.contentView.children).to.deep.equal([v1]);
+    expect(v1.children).to.deep.equal([v2]);
+  });
+
   it('correctly reorders children', () => {
     w = new BaseWindow({ show: false });
     const cv = new View();

filename: spec/api-web-contents-view-spec.ts
patch: @@ -135,6 +135,20 @@ describe('WebContentsView', () => {
     expect(w.isFullScreen()).to.be.true('isFullScreen');
   });
 
+  it('can be added as a child of another View', async () => {
+    const w = new BaseWindow();
+    const v = new View();
+    const wcv = new WebContentsView();
+
+    await wcv.webContents.loadURL('data:text/html,<div id="div">This is a simple div.</div>');
+
+    v.addChildView(wcv);
+    w.contentView.addChildView(v);
+
+    expect(w.contentView.children).to.deep.equal([v]);
+    expect(v.children).to.deep.equal([wcv]);
+  });
+
   describe('visibilityState', () => {
     it('is initially hidden', async () => {
       const v = new WebContentsView();
Repository: ggml-org/llama.cpp
Pull request: vulkan: workaround FA compile failures on macos

Fixes #13450.

Changed files:
filename: ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
patch: @@ -12,14 +12,15 @@
 
 layout(local_size_x_id = 0, local_size_y = 1, local_size_z = 1) in;
 
+layout (constant_id = 0) const uint32_t WorkGroupSize = 128;
 layout (constant_id = 1) const uint32_t Br = 1;
 layout (constant_id = 2) const uint32_t Bc = 32;
 layout (constant_id = 3) const uint32_t D = 32;
 
 layout (constant_id = 5) const uint32_t D_split = 16;
 const uint32_t D_per_thread = D / D_split;
 
-const uint32_t cols_per_iter = gl_WorkGroupSize.x / D_split;
+const uint32_t cols_per_iter = WorkGroupSize / D_split;
 const uint32_t cols_per_thread = Bc / cols_per_iter;
 
 layout (push_constant) uniform parameter {
@@ -134,8 +135,8 @@ ACC_TYPE perElemOpComputeSlope(const in uint32_t r, const in uint32_t c, const i
     return ACC_TYPE(pow(base, ACC_TYPE(exph)));
 }
 
-shared FLOAT_TYPE tmpsh[gl_WorkGroupSize.x];
-shared vec4 tmpshv4[gl_WorkGroupSize.x];
+shared FLOAT_TYPE tmpsh[WorkGroupSize];
+shared vec4 tmpshv4[WorkGroupSize];
 
 shared float masksh[Bc][Br];
 shared vec4 Qf[Br][D / 4];
Repository: huggingface/transformers
Pull request: Fix ValueError when eval_do_concat_batches=False with examples

https://github.com/huggingface/transformers/issues/37593

# What does this PR do?

Fixes # [37593](https://github.com/huggingface/transformers/issues/37593)

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [X] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [X] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

@SunMarc 

- text models: @ArthurZucker
- vision models: @amyeroberts, @qubvel
- speech models: @eustlb
- graph models: @clefourrier

Changed files:
filename: examples/pytorch/text-classification/run_glue.py
patch: @@ -508,8 +508,12 @@ def preprocess_function(examples):
     # predictions and label_ids field) and has to return a dictionary string to float.
     def compute_metrics(p: EvalPrediction):
         preds = p.predictions[0] if isinstance(p.predictions, tuple) else p.predictions
+        labels = p.label_ids
+        if not training_args.eval_do_concat_batches:
+            preds = np.concatenate(preds, axis=0)
+            labels = np.concatenate(p.label_ids, axis=0)
         preds = np.squeeze(preds) if is_regression else np.argmax(preds, axis=1)
-        result = metric.compute(predictions=preds, references=p.label_ids)
+        result = metric.compute(predictions=preds, references=labels)
         if len(result) > 1:
             result["combined_score"] = np.mean(list(result.values())).item()
         return result

filename: examples/pytorch/token-classification/run_ner.py
patch: @@ -529,6 +529,9 @@ def tokenize_and_align_labels(examples):
 
     def compute_metrics(p):
         predictions, labels = p
+        if not training_args.eval_do_concat_batches:
+            predictions = np.hstack(predictions)
+            labels = np.hstack(labels)
         predictions = np.argmax(predictions, axis=2)
 
         # Remove ignored index (special tokens)
Repository: electron/electron
Pull request: fix: EyeDropper working in devtools

Backport of #43685

See that PR for details.


Notes: Fixed an issue where clicking the eyedropper icon did nothing instead of opening an eyedropper for color selection as expected. 


Changed files:
filename: shell/browser/ui/inspectable_web_contents.cc
patch: @@ -785,6 +785,7 @@ void InspectableWebContents::SetEyeDropperActive(bool active) {
   if (delegate_)
     delegate_->DevToolsSetEyeDropperActive(active);
 }
+
 void InspectableWebContents::ZoomIn() {
   double new_level = GetNextZoomLevel(GetDevToolsZoomLevel(), false);
   SetZoomLevelForWebContents(GetDevToolsWebContents(), new_level);
@@ -966,6 +967,13 @@ void InspectableWebContents::CloseContents(content::WebContents* source) {
   CloseDevTools();
 }
 
+std::unique_ptr<content::EyeDropper> InspectableWebContents::OpenEyeDropper(
+    content::RenderFrameHost* frame,
+    content::EyeDropperListener* listener) {
+  auto* delegate = web_contents_->GetDelegate();
+  return delegate ? delegate->OpenEyeDropper(frame, listener) : nullptr;
+}
+
 void InspectableWebContents::RunFileChooser(
     content::RenderFrameHost* render_frame_host,
     scoped_refptr<content::FileSelectListener> listener,

filename: shell/browser/ui/inspectable_web_contents.h
patch: @@ -208,6 +208,9 @@ class InspectableWebContents
   bool HandleKeyboardEvent(content::WebContents*,
                            const input::NativeWebKeyboardEvent&) override;
   void CloseContents(content::WebContents* source) override;
+  std::unique_ptr<content::EyeDropper> OpenEyeDropper(
+      content::RenderFrameHost* frame,
+      content::EyeDropperListener* listener) override;
   void RunFileChooser(content::RenderFrameHost* render_frame_host,
                       scoped_refptr<content::FileSelectListener> listener,
                       const blink::mojom::FileChooserParams& params) override;
Repository: denoland/deno
Pull request: fix(repl): Prevent panic on broken pipe

Closes https://github.com/denoland/deno/issues/21861

Changed files:
filename: cli/tools/repl/mod.rs
patch: @@ -1,5 +1,8 @@
 // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
 
+use std::io;
+use std::io::Write;
+
 use std::sync::Arc;
 
 use crate::args::CliOptions;
@@ -241,15 +244,24 @@ pub async fn run(
 
   // Doing this manually, instead of using `log::info!` because these messages
   // are supposed to go to stdout, not stderr.
+  // Using writeln, because println panics in certain cases
+  // (eg: broken pipes - https://github.com/denoland/deno/issues/21861)
   if !cli_options.is_quiet() {
-    println!("Deno {}", crate::version::DENO_VERSION_INFO.deno);
-    println!("exit using ctrl+d, ctrl+c, or close()");
+    let mut handle = io::stdout().lock();
+
+    writeln!(handle, "Deno {}", crate::version::DENO_VERSION_INFO.deno)?;
+    writeln!(handle, "exit using ctrl+d, ctrl+c, or close()")?;
+
     if repl_flags.is_default_command {
-      println!(
+      writeln!(
+        handle,
         "{}",
         colors::yellow("REPL is running with all permissions allowed.")
-      );
-      println!("To specify permissions, run `deno repl` with allow flags.")
+      )?;
+      writeln!(
+        handle,
+        "To specify permissions, run `deno repl` with allow flags."
+      )?;
     }
   }
 

filename: tests/integration/run_tests.rs
patch: @@ -4343,6 +4343,32 @@ fn broken_stdout() {
   assert!(!stderr.contains("panic"));
 }
 
+#[test]
+fn broken_stdout_repl() {
+  let (reader, writer) = os_pipe::pipe().unwrap();
+  // drop the reader to create a broken pipe
+  drop(reader);
+
+  let output = util::deno_cmd()
+    .current_dir(util::testdata_path())
+    .arg("repl")
+    .stdout(writer)
+    .stderr_piped()
+    .spawn()
+    .unwrap()
+    .wait_with_output()
+    .unwrap();
+
+  assert!(!output.status.success());
+  let stderr = std::str::from_utf8(output.stderr.as_ref()).unwrap().trim();
+  if cfg!(windows) {
+    assert_contains!(stderr, "The pipe is being closed. (os error 232)");
+  } else {
+    assert_contains!(stderr, "Broken pipe (os error 32)");
+  }
+  assert_not_contains!(stderr, "panic");
+}
+
 itest!(error_cause {
   args: "run run/error_cause.ts",
   output: "run/error_cause.ts.out",
Repository: ggml-org/llama.cpp
Pull request: ggml-cpu: Update KleidiAI to v1.6 and fix include directives

This commit updates KleidiAI to v1.6  and also fixes three missing include directives which cause build errors for some platforms.

Changed files:
filename: ggml/src/ggml-cpu/CMakeLists.txt
patch: @@ -385,9 +385,9 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
 
         # Fetch KleidiAI sources:
         include(FetchContent)
-        set(KLEIDIAI_COMMIT_TAG "v1.5.0")
+        set(KLEIDIAI_COMMIT_TAG "v1.6.0")
         set(KLEIDIAI_DOWNLOAD_URL "https://github.com/ARM-software/kleidiai/archive/refs/tags/${KLEIDIAI_COMMIT_TAG}.tar.gz")
-        set(KLEIDIAI_ARCHIVE_MD5  "ea22e1aefb800e9bc8c74d91633cc58e")
+        set(KLEIDIAI_ARCHIVE_MD5  "75b4ad68f25ab673dcc01065e5a0b05f")
 
         if (POLICY CMP0135)
             cmake_policy(SET CMP0135 NEW)

filename: ggml/src/ggml-cpu/kleidiai/kernels.h
patch: @@ -5,6 +5,7 @@
 #pragma once
 
 #include <functional>
+#include <variant>
 #include "ggml.h"
 
 enum cpu_feature {

filename: ggml/src/ggml-cpu/kleidiai/kleidiai.cpp
patch: @@ -3,7 +3,9 @@
 //
 #include <arm_neon.h>
 #include <assert.h>
+#include <atomic>
 #include <cfloat>
+#include <stdexcept>
 #include <stdint.h>
 #include <string.h>
 #if defined(__linux__)
Repository: huggingface/transformers
Pull request: Add test to ensure unknown exceptions reraising in utils/hub.py::cached_files()

After fixing #37477 with #37525, a proper test was pending, so we ensure unknown Exceptions are properly re-raised.

Thanks again Cyril for the helpful review and guidance in the previous PR! Let me know if the test is adequate :)

## Who can review?

@Cyrilvallez

Changed files:
filename: tests/utils/test_hub_utils.py
patch: @@ -189,3 +189,12 @@ def test_has_file_gated_repo(self):
         with self.assertRaisesRegex(EnvironmentError, "is a gated repository"):
             # All files except README.md are protected on a gated repo.
             has_file(GATED_REPO, "gated_file.txt", token=False)
+
+    def test_cached_files_exception_raised(self):
+        """Test that unhadled exceptions, e.g. ModuleNotFoundError, is properly re-raised by cached_files when hf_hub_download fails."""
+        with mock.patch(
+            "transformers.utils.hub.hf_hub_download", side_effect=ModuleNotFoundError("No module named 'MockModule'")
+        ):
+            with self.assertRaises(ModuleNotFoundError):
+                # The error should be re-raised by cached_files, not caught in the exception handling block
+                cached_file(RANDOM_BERT, "nonexistent.json")
Repository: facebook/react
Pull request: Fix dispatch config type for skipBubbling

<!--
  Thanks for submitting a pull request!
  We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

  Before submitting a pull request, please make sure the following is done:

  1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`.
  2. Run `yarn` in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development.
  5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`.
  6. If you need a debugger, run `yarn debug-test --watch TestName`, open `chrome://inspect`, and press "Inspect".
  7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`).
  8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

  Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html
-->

## Summary

https://github.com/facebook/react/pull/23366/files introduced a type bug using the wrong property name. Fixing that here. 

## How did you test this change?



Changed files:
filename: packages/react-native-renderer/src/ReactNativeTypes.js
patch: @@ -73,7 +73,7 @@ export type ViewConfig = $ReadOnly<{
       phasedRegistrationNames: $ReadOnly<{
         captured: string,
         bubbled: string,
-        skipBubble?: ?boolean,
+        skipBubbling?: ?boolean,
       }>,
     }>,
     ...,
Repository: electron/electron
Pull request: fix: native `View` wrapper crash missing when adding child view

Backport of #43638

See that PR for details.


Notes: Fixed an issue where `WebContentsView`s did not show correctly in some circumstances on macOS after being added as child views.

Changed files:
filename: shell/browser/ui/cocoa/delayed_native_view_host.mm
patch: @@ -15,13 +15,9 @@
 
 void DelayedNativeViewHost::ViewHierarchyChanged(
     const views::ViewHierarchyChangedDetails& details) {
-  // NativeViewHost doesn't expect to have children, so filter the
-  // ViewHierarchyChanged events before passing them on.
-  if (details.child == this) {
-    NativeViewHost::ViewHierarchyChanged(details);
-    if (details.is_add && GetWidget() && !native_view())
-      Attach(native_view_);
-  }
+  NativeViewHost::ViewHierarchyChanged(details);
+  if (details.is_add && GetWidget() && !native_view())
+    Attach(native_view_);
 }
 
 bool DelayedNativeViewHost::OnMousePressed(const ui::MouseEvent& ui_event) {

filename: spec/api-view-spec.ts
patch: @@ -36,6 +36,18 @@ describe('View', () => {
     expect(w.contentView.children).to.have.lengthOf(1);
   });
 
+  it('can be added as a child of another View', async () => {
+    const w = new BaseWindow();
+    const v1 = new View();
+    const v2 = new View();
+
+    v1.addChildView(v2);
+    w.contentView.addChildView(v1);
+
+    expect(w.contentView.children).to.deep.equal([v1]);
+    expect(v1.children).to.deep.equal([v2]);
+  });
+
   it('correctly reorders children', () => {
     w = new BaseWindow({ show: false });
     const cv = new View();

filename: spec/api-web-contents-view-spec.ts
patch: @@ -135,6 +135,20 @@ describe('WebContentsView', () => {
     expect(w.isFullScreen()).to.be.true('isFullScreen');
   });
 
+  it('can be added as a child of another View', async () => {
+    const w = new BaseWindow();
+    const v = new View();
+    const wcv = new WebContentsView();
+
+    await wcv.webContents.loadURL('data:text/html,<div id="div">This is a simple div.</div>');
+
+    v.addChildView(wcv);
+    w.contentView.addChildView(v);
+
+    expect(w.contentView.children).to.deep.equal([v]);
+    expect(v.children).to.deep.equal([wcv]);
+  });
+
   describe('visibilityState', () => {
     async function haveVisibilityState (view: WebContentsView, state: string) {
       const docVisState = await view.webContents.executeJavaScript('document.visibilityState');
Repository: nodejs/node
Pull request: meta: move MoLow to TSC regular member


Changed files:
filename: README.md
patch: @@ -180,8 +180,6 @@ For information about the governance of the Node.js project, see
   **Matteo Collina** <<matteo.collina@gmail.com>> (he/him)
 * [mhdawson](https://github.com/mhdawson) -
   **Michael Dawson** <<midawson@redhat.com>> (he/him)
-* [MoLow](https://github.com/MoLow) -
-  **Moshe Atlow** <<moshe@atlow.co.il>> (he/him)
 * [RafaelGSS](https://github.com/RafaelGSS) -
   **Rafael Gonzaga** <<rafael.nunu@hotmail.com>> (he/him)
 * [richardlau](https://github.com/richardlau) -
@@ -211,6 +209,8 @@ For information about the governance of the Node.js project, see
   **Shelley Vohr** <<shelley.vohr@gmail.com>> (she/her)
 * [GeoffreyBooth](https://github.com/GeoffreyBooth) -
   **Geoffrey Booth** <<webadmin@geoffreybooth.com>> (he/him)
+* [MoLow](https://github.com/MoLow) -
+  **Moshe Atlow** <<moshe@atlow.co.il>> (he/him)
 * [Trott](https://github.com/Trott) -
   **Rich Trott** <<rtrott@gmail.com>> (he/him)
Repository: ggml-org/llama.cpp
Pull request: batched-bench : fix pp batch contents

The tool was incorrectly ordering the tokens for the prompt processing batches by interleaving the sequences like this:

```
123412341234...
```

Instead the batch should look like this:

```
1111...2222...3333...
```

This is important for correctly benchmarking some attention optimization techniques.

Changed files:
filename: tools/batched-bench/batched-bench.cpp
patch: @@ -123,8 +123,8 @@ int main(int argc, char ** argv) {
 
                 common_batch_clear(batch);
 
-                for (int i = 0; i < pp; ++i) {
-                    for (int j = 0; j < (is_pp_shared ? 1 : pl); ++j) {
+                for (int j = 0; j < (is_pp_shared ? 1 : pl); ++j) {
+                    for (int i = 0; i < pp; ++i) {
                         common_batch_add(batch, 0, i, { j }, false);
                     }
                 }