helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: memory : handle kv_unified for hybrid models

Follow-up from #14725, which didn't really fix the underlying problem of not considering `cparams.kv_unified`.

Since #14959, inference with hybrid models has been broken (except when using `-kvu`), due to hybrid memory not passing `cparams.kv_unified` properly.

Reproduction of the problem: attempt to run `llama-perplexity` with any hybrid model.

```console
$ ./bin/llama-perplexity -f /workspace/wikitext-2-raw/wiki.test.raw -m /workspace/gguf/LFM2-350M-BF16.gguf --chunks 10
```

On `master`, this fails with an assertion
```
/workspace/llama.cpp/ggml/src/ggml.c:3740: GGML_ASSERT(mask->ne[1] >= a->ne[1]) failed
```

With this PR, this is no longer a problem. I've tested this with <https://huggingface.co/LiquidAI/LFM2-350M>.

---

*Make sure to read the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md) before submitting a PR*


Changed files:
filename: src/llama-memory-hybrid.cpp
patch: @@ -25,6 +25,7 @@ llama_memory_hybrid::llama_memory_hybrid(
                          /* common */
              uint32_t    n_seq_max,
                  bool    offload,
+                 bool    unified,
                          /* layer filters */
       layer_filter_cb && filter_attn,
       layer_filter_cb && filter_recr) :
@@ -38,7 +39,7 @@ llama_memory_hybrid::llama_memory_hybrid(
         type_v,
         v_trans,
         offload,
-        1,
+        unified,
         kv_size,
         n_seq_max,
         n_pad,

filename: src/llama-memory-hybrid.h
patch: @@ -39,6 +39,7 @@ class llama_memory_hybrid : public llama_memory_i {
                              /* common */
                  uint32_t    n_seq_max,
                      bool    offload,
+                     bool    unified,
                              /* layer filters */
           layer_filter_cb && filter_attn = nullptr,
           layer_filter_cb && filter_recr = nullptr);

filename: src/llama-model.cpp
patch: @@ -17598,6 +17598,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params,
                         /* recurrent_kv_size */ std::max((uint32_t) 1, cparams.n_seq_max),
                         /* n_seq_max         */ cparams.n_seq_max,
                         /* offload           */ cparams.offload_kqv,
+                        /* unified           */ cparams.kv_unified,
                         /* filter_attn       */ (arch == LLM_ARCH_FALCON_H1) ? [&](int32_t) { return true; } : (llama_memory_hybrid::layer_filter_cb)nullptr,
                         /* filter_recr       */ (arch == LLM_ARCH_FALCON_H1) ? [&](int32_t) { return true; } : (llama_memory_hybrid::layer_filter_cb)nullptr);
                 } else {
Repository: denoland/deno
Pull request: fix(jsr): Wasm imports fail to load

* https://github.com/denoland/deno_graph/pull/562

Closes https://github.com/denoland/deno/issues/27593

Changed files:
filename: Cargo.lock
patch: @@ -1750,9 +1750,9 @@ dependencies = [
 
 [[package]]
 name = "deno_graph"
-version = "0.86.8"
+version = "0.86.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ceaff8e0b1ea21369c1aff28d75fed0c4194896195cf57c2fbee4f7db3e4c42"
+checksum = "fa96b7d353c0d36b108ec504272b148792f48dccaf29f302b39c46b43457bb94"
 dependencies = [
  "anyhow",
  "async-trait",

filename: cli/Cargo.toml
patch: @@ -74,7 +74,7 @@ deno_config.workspace = true
 deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
 deno_doc = { version = "=0.161.3", features = ["rust", "comrak"] }
 deno_error.workspace = true
-deno_graph = { version = "=0.86.8" }
+deno_graph = { version = "=0.86.9" }
 deno_lint = { version = "=0.68.2", features = ["docs"] }
 deno_lockfile.workspace = true
 deno_npm.workspace = true
Repository: nodejs/node
Pull request: tools: add config subsystem

@nodejs/config 

Changed files:
filename: .github/label-pr-config.yml
patch: @@ -34,6 +34,9 @@ subSystemLabels:
   /^src\/node_bob*/: c++, quic
   /^src\/node_sea/: single-executable
   /^src\/node_sqlite.*/: c++, sqlite
+  /^src\/node_config_file.*/: c++, config
+  /^src\/node_dotenv.*/: c++, config
+  /^src\/node_options.*/: c++, config
 
   # Properly label changes to V8 inspector integration-related files
   /^src\/inspector_/: c++, inspector, needs-ci
@@ -149,6 +152,8 @@ exlusiveLabels:
   # Specific map for typescript.md as it should be labeled 'strip-types'
   /^doc\/api\/typescript.md$/: doc, strip-types
 
+  /^doc\/node-config-schema.json$/: doc, config
+
   /^doc\//: doc
 
   # More specific benchmarks
@@ -168,6 +173,7 @@ allJsSubSystems:
   - buffer
   - child_process
   - cluster
+  - config
   - console
   - crypto
   - debugger

filename: .github/workflows/tools.yml
patch: @@ -236,7 +236,7 @@ jobs:
             run: |
               node ./tools/dep_updaters/update-root-certs.mjs -v -f "$GITHUB_ENV"
           - id: simdjson
-            subsystem: deps
+            subsystem: deps, config
             label: dependencies
             run: |
               ./tools/dep_updaters/update-simdjson.sh > temp-output
Repository: ggml-org/llama.cpp
Pull request: model : add text-only support for Kimi-VL

The text model portion of moonshotai/Kimi-VL-A3B-Instruct is functionally identical to moonshotai/Moonlight-16B-A3B-Instruct, but there is an error in the model's config files. The Kimi-VL models should be using token "
" as their EOS token, not  "[EOS]". Without this fix, generation was stopping after any comma "," and I'm not really sure why.

Just wanted to get this merged before I really start working on getting the vision portion working.


Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -6059,6 +6059,7 @@ def prepare_tensors(self):
 
 @ModelBase.register("DeepseekV2ForCausalLM")
 @ModelBase.register("DeepseekV3ForCausalLM")
+@ModelBase.register("KimiVLForConditionalGeneration")
 class DeepseekV2Model(TextModel):
     model_arch = gguf.MODEL_ARCH.DEEPSEEK2
 
@@ -6161,6 +6162,13 @@ def set_gguf_parameters(self):
     _experts: list[dict[str, Tensor]] | None = None
 
     def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
+        # skip vision tensors and remove "language_model." for Kimi-VL
+        if "vision_tower" in name or "multi_modal_projector" in name:
+            return []
+
+        if name.startswith("language_model."):
+            name = name.replace("language_model.", "")
+
         # rename e_score_correction_bias tensors
         if name.endswith("e_score_correction_bias"):
             name = name.replace("e_score_correction_bias", "e_score_correction.bias")

filename: gguf-py/gguf/vocab.py
patch: @@ -312,7 +312,11 @@ def _try_load_from_config_json(self, path: Path) -> bool:
         with open(config_file, encoding = 'utf-8') as f:
             config = json.load(f)
         for typ in self.special_token_types:
-            self._set_special_token(typ, config.get(f'{typ}_token_id'))
+            token_id = config.get(f'{typ}_token_id')
+            # If not found at root, check in text_config (for multimodal models like Kimi-VL)
+            if token_id is None and 'text_config' in config:
+                token_id = config['text_config'].get(f'{typ}_token_id')
+            self._set_special_token(typ, token_id)
         return True
Repository: facebook/react
Pull request: Add missing `"react-dom/server.bun"` entry in package.json `"exports"`

<!--
  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 test --debug --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

<!--
 Explain the **motivation** for making this change. What existing problem does the pull request solve?
-->

`react-dom/server` in Bun (correctly) chooses `react-dom/server.bun`, but `react-dom/server.bun` currently can't be imported because it is not included in package.json `"exports"` (`react-dom/server` works, `react-dom/server.bun` doesn't). Previously, I didn't think it was necessary to do that, but it is too easy to accidentally run the browser build in unit tests when importing `react-dom/server`

This also aligns behavior of package.json `"exports"` of `react-dom/server.bun` with `react-dom/server.browser`, `react-dom/server.node`, and the rest. 

## How did you test this change?

Manually edited package.json in node_modules in a separate folder and ran tests in Bun with `react-dom/server.bun` as the import specifier

<!--
  Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface.
  How exactly did you verify that your PR solves the issue you wanted to solve?
  If you leave this empty, your PR will very likely be closed.
-->


Changed files:
filename: packages/react-dom/package.json
patch: @@ -58,6 +58,7 @@
       "default": "./server.node.js"
     },
     "./server.browser": "./server.browser.js",
+    "./server.bun": "./server.bun.js",
     "./server.edge": "./server.edge.js",
     "./server.node": "./server.node.js",
     "./static": {
Repository: huggingface/transformers
Pull request: Fix trainer.py not showing signature columns



# What does this PR do?

<!--
Congratulations! You've made it this far! You're not quite done yet though.

Once merged, your PR is going to appear in the release notes with the title you set, so make sure it's a great title that fully reflects the extent of your awesome contribution.

Then, please replace this with a description of the change and which issue is fixed (if applicable). Please also include relevant motivation and context. List any dependencies (if any) that are required for this change.

Once you're done, someone will review your PR shortly (see the section "Who can review?" below to tag some potential reviewers). They may suggest changes to make the code even better. If no one reviewed your PR after a week has passed, don't hesitate to post a new comment @-mentioning the same persons---sometimes notifications get lost.
-->

<!-- Remove if not applicable -->

Fixes # (issue)
Fix trainer.py not showing signature columns


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@zach-huggingface and @SunMarc




Changed files:
filename: src/transformers/trainer.py
patch: @@ -932,7 +932,7 @@ def _remove_unused_columns(self, dataset: "datasets.Dataset", description: Optio
         columns = [k for k in signature_columns if k in dataset.column_names]
         if len(columns) == 0:
             raise ValueError(
-                "No columns in the dataset match the model's forward method signature: ({', '.join(signature_columns)}). "
+                f"No columns in the dataset match the model's forward method signature: ({', '.join(signature_columns)}). "
                 f"The following columns have been ignored: [{', '.join(ignored_columns)}]. "
                 "Please check the dataset and model. You may need to set `remove_unused_columns=False` in `TrainingArguments`."
             )
Repository: denoland/deno
Pull request: fix(ext/node): Fix `os.cpus()` on Linux

Populate `speed` using current scaling frequency and fix times multiplier.

Fixes https://github.com/denoland/deno/issues/27555

<table>
<tr>
<th>Node.js</th>
<th>Deno</th>
</tr>
<tr>
<td>

```
> os.cpus()
[
  {
    model: 'AMD Ryzen 5 7530U with Radeon Graphics',
    speed: 1396,
    times: {
      user: 1769930,
      nice: 20,
      sys: 525630,
      idle: 41325700,
      irq: 110060
    }
  },
```

</td>
<td>

```
> os.cpus()
[
  {
    model: "AMD Ryzen 5 7530U with Radeon Graphics",
    speed: 1630,
    times: [Object: null prototype] {
      user: 1795620,
      nice: 20,
      sys: 537840,
      idle: 41589390,
      irq: 111230
    }
  },
```

</td>
</tr>
</table>


Changed files:
filename: ext/node/ops/os/cpus.rs
patch: @@ -264,13 +264,16 @@ pub fn cpu_info() -> Option<Vec<CpuInfo>> {
     let nice = fields.next()?.parse::<u64>().ok()?;
     let sys = fields.next()?.parse::<u64>().ok()?;
     let idle = fields.next()?.parse::<u64>().ok()?;
+    let _iowait = fields.next()?.parse::<u64>().ok()?;
     let irq = fields.next()?.parse::<u64>().ok()?;
 
-    cpus[i].times.user = user;
-    cpus[i].times.nice = nice;
-    cpus[i].times.sys = sys;
-    cpus[i].times.idle = idle;
-    cpus[i].times.irq = irq;
+    // sysconf(_SC_CLK_TCK) is fixed at 100 Hz, therefore the
+    // multiplier is always 1000/100 = 10
+    cpus[i].times.user = user * 10;
+    cpus[i].times.nice = nice * 10;
+    cpus[i].times.sys = sys * 10;
+    cpus[i].times.idle = idle * 10;
+    cpus[i].times.irq = irq * 10;
   }
 
   let fp = std::fs::File::open("/proc/cpuinfo").ok()?;
@@ -287,6 +290,18 @@ pub fn cpu_info() -> Option<Vec<CpuInfo>> {
     let model = fields.next()?.trim();
 
     cpus[j].model = model.to_string();
+
+    if let Ok(fp) = std::fs::File::open(format!(
+      "/sys/devices/system/cpu/cpu{}/cpufreq/scaling_cur_freq",
+      j
+    )) {
+      let mut reader = std::io::BufReader::new(fp);
+      let mut speed = String::new();
+      reader.read_line(&mut speed).ok()?;
+
+      cpus[j].speed = speed.trim().parse::<u64>().ok()? / 1000;
+    }
+
     j += 1;
   }
Repository: ggml-org/llama.cpp
Pull request: opencl: fix adreno compiler feature detection logic

Newer Adreno CL compiler can do subgroup broadcast with vector types. This PR fixes the logic for identifying this for X Elite.

Changed files:
filename: ggml/src/ggml-opencl/ggml-opencl.cpp
patch: @@ -2046,8 +2046,8 @@ static ggml_backend_opencl_context * ggml_cl2_init(ggml_backend_dev_t dev) {
 
     backend_ctx->adreno_cl_compiler_version = get_adreno_cl_compiler_version(driver_version);
     backend_ctx->has_vector_subgroup_broadcast =
-        backend_ctx->adreno_cl_compiler_version.major >= 47 ||
-        backend_ctx->adreno_cl_compiler_version.major == 17;
+        (backend_ctx->adreno_cl_compiler_version.type == E031 && backend_ctx->adreno_cl_compiler_version.major >= 47) ||
+        (backend_ctx->adreno_cl_compiler_version.type == DX   && backend_ctx->adreno_cl_compiler_version.major >= 17);
     GGML_LOG_INFO("ggml_opencl: vector subgroup broadcast support: %s\n",
         backend_ctx->has_vector_subgroup_broadcast ? "true" : "false");
Repository: nodejs/node
Pull request: timers: remove unused parameter from insertGuarded

`insert` has a third optional parameter and sometimes it's called with 2 arguments instead of 3

This is not the case for `insertGuarded`, its third parameter is never used and the function is not exported, so it's safe to remove

Changed files:
filename: lib/internal/timers.js
patch: @@ -362,12 +362,12 @@ function unrefActive(item) {
 //
 // Appends a timer onto the end of an existing timers list, or creates a new
 // list if one does not already exist for the specified timeout duration.
-function insertGuarded(item, refed, start) {
+function insertGuarded(item, refed) {
   const msecs = item._idleTimeout;
   if (msecs < 0 || msecs === undefined)
     return;
 
-  insert(item, msecs, start);
+  insert(item, msecs);
 
   const isDestroyed = item._destroyed;
   if (isDestroyed || !item[async_id_symbol]) {
Repository: facebook/react
Pull request: Setting transition pending flag shouldn't be part of a surrounding transition

Fixes #26226. (Is this the right fix?)

Changed files:
filename: packages/react-reconciler/src/ReactFiberHooks.js
patch: @@ -2389,11 +2389,11 @@ function startTransition(
     higherEventPriority(previousPriority, ContinuousEventPriority),
   );
 
-  setPending(true);
-
   const prevTransition = ReactCurrentBatchConfig.transition;
-  ReactCurrentBatchConfig.transition = ({}: BatchConfigTransition);
-  const currentTransition = ReactCurrentBatchConfig.transition;
+  ReactCurrentBatchConfig.transition = null;
+  setPending(true);
+  const currentTransition = (ReactCurrentBatchConfig.transition =
+    ({}: BatchConfigTransition));
 
   if (enableTransitionTracing) {
     if (options !== undefined && options.name !== undefined) {

filename: packages/react-reconciler/src/__tests__/ReactTransition-test.js
patch: @@ -951,4 +951,43 @@ describe('ReactTransition', () => {
 
     expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
   });
+
+  it('tracks two pending flags for nested startTransition (#26226)', async () => {
+    let update;
+    function App() {
+      const [isPendingA, startTransitionA] = useTransition();
+      const [isPendingB, startTransitionB] = useTransition();
+      const [state, setState] = useState(0);
+
+      update = function () {
+        startTransitionA(() => {
+          startTransitionB(() => {
+            setState(1);
+          });
+        });
+      };
+
+      return (
+        <>
+          <Text text={state} />
+          {', '}
+          <Text text={'A ' + isPendingA} />
+          {', '}
+          <Text text={'B ' + isPendingB} />
+        </>
+      );
+    }
+    const root = ReactNoop.createRoot();
+    await act(async () => {
+      root.render(<App />);
+    });
+    assertLog([0, 'A false', 'B false']);
+    expect(root).toMatchRenderedOutput('0, A false, B false');
+
+    await act(async () => {
+      update();
+    });
+    assertLog([0, 'A true', 'B true', 1, 'A false', 'B false']);
+    expect(root).toMatchRenderedOutput('1, A false, B false');
+  });
 });
Repository: huggingface/transformers
Pull request: Fix a minor security issue

# What does this PR do?

There is an security report about this. It's not a big deal as `utils/check_self_hosted_runner.py` is only used in some AMD workflow files that could be only triggered by push event `.github/workflows/self-push-amd.yml` (not really used) or in

https://github.com/huggingface/hf-workflows/blob/main/.github/workflows/transformers_amd_ci_scheduled.yaml

But let's still update it anyway.


https://docs.python.org/3/library/subprocess.html

(search ` Unless otherwise stated, it is recommended to pass args as a sequence.`)

Changed files:
filename: utils/check_self_hosted_runner.py
patch: @@ -6,10 +6,15 @@
 def get_runner_status(target_runners, token):
     offline_runners = []
 
-    cmd = (
-        f'curl -H "Accept: application/vnd.github+json" -H "Authorization: Bearer {token}"'
-        " https://api.github.com/repos/huggingface/transformers/actions/runners"
-    )
+    cmd = [
+        "curl",
+        "-H",
+        "Accept: application/vnd.github+json",
+        "-H",
+        f"Authorization: Bearer {token}",
+        "https://api.github.com/repos/huggingface/transformers/actions/runners",
+    ]
+
     output = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE)
     o = output.stdout.decode("utf-8")
     status = json.loads(o)
Repository: denoland/deno
Pull request: fix(ext/websocket): Fix close code without reason

Fixes https://github.com/denoland/deno/issues/27566

The close code wasn't sent if reason was None, defaulting to 1005. This patch allows sending close code without reason.


Changed files:
filename: ext/websocket/lib.rs
patch: @@ -758,9 +758,14 @@ pub async fn op_ws_close(
     return Ok(());
   };
 
+  const EMPTY_PAYLOAD: &[u8] = &[];
+
   let frame = reason
     .map(|reason| Frame::close(code.unwrap_or(1005), reason.as_bytes()))
-    .unwrap_or_else(|| Frame::close_raw(vec![].into()));
+    .unwrap_or_else(|| match code {
+      Some(code) => Frame::close(code, EMPTY_PAYLOAD),
+      _ => Frame::close_raw(EMPTY_PAYLOAD.into()),
+    });
 
   resource.closed.set(true);
   let lock = resource.reserve_lock();

filename: tests/integration/run_tests.rs
patch: @@ -2663,7 +2663,6 @@ async fn websocket_server_multi_field_connection_header() {
 
   let message = socket.read_frame().await.unwrap();
   assert_eq!(message.opcode, fastwebsockets::OpCode::Close);
-  assert!(message.payload.is_empty());
   socket
     .write_frame(fastwebsockets::Frame::close_raw(vec![].into()))
     .await

filename: tests/unit/websocket_test.ts
patch: @@ -262,7 +262,7 @@ Deno.test({
       socket.onopen = () => socket.send("Hello");
       socket.onmessage = () => {
         socket.send("Bye");
-        socket.close();
+        socket.close(1000);
       };
       socket.onclose = () => ac.abort();
       socket.onerror = () => fail();
@@ -288,7 +288,8 @@ Deno.test({
       seenBye = true;
     }
   };
-  ws.onclose = () => {
+  ws.onclose = (e) => {
+    assertEquals(e.code, 1000);
     deferred.resolve();
   };
   await Promise.all([deferred.promise, server.finished]);
Repository: electron/electron
Pull request: fix: windows save dialog extension bug

Backport of #44296

See that PR for details.


Notes: Fix update file extension bug

Changed files:
filename: shell/browser/ui/file_dialog_win.cc
patch: @@ -144,10 +144,14 @@ static void ApplySettings(IFileDialog* dialog, const DialogSettings& settings) {
   // We set file extension to the first none-wildcard extension to make
   // sure the dialog will update file extension automatically.
   for (size_t i = 0; i < filterspec.size(); ++i) {
-    if (std::wstring(filterspec[i].pszSpec) != L"*.*") {
+    std::wstring spec(filterspec[i].pszSpec);
+    if (spec != L"*.*") {
       // SetFileTypeIndex is regarded as one-based index.
       dialog->SetFileTypeIndex(i + 1);
-      dialog->SetDefaultExtension(filterspec[i].pszSpec);
+      // "*.jpg;*.png" => "*.jpg"
+      std::wstring first_spec = spec.substr(0, spec.find(L';'));
+      // "*.jpg" => "jpg"
+      dialog->SetDefaultExtension(first_spec.substr(2).c_str());
       break;
     }
   }
Repository: nodejs/node
Pull request: doc: add note about sync nodejs-private branches

As titled

Changed files:
filename: doc/contributing/security-release-process.md
patch: @@ -81,6 +81,7 @@ The current security stewards are documented in the main Node.js
 * [ ] 6\. **Get release volunteers:**
   * Get volunteers for the upcoming security release on the affected release
     lines.
+  * Make sure to sync nodejs-private (vN.x) branches with nodejs/node.
 
 * [ ] 7\. **Preparing Pre and Post Release Blog Posts:**
   * [ ] Create a pre-release blog post using `git node security --pre-release`.