Skip to content

chore: bump nmtcpp to 2.1.0#1710

Merged
olyasir merged 2 commits into
mainfrom
chore/bump-nmtcpp-2.1.0
Apr 22, 2026
Merged

chore: bump nmtcpp to 2.1.0#1710
olyasir merged 2 commits into
mainfrom
chore/bump-nmtcpp-2.1.0

Conversation

@olyasir

@olyasir olyasir commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Summary

CHANGELOG entry

## [2.1.0] - 2026-04-22

### Added

- Dynamic GGML backend loading for GPU acceleration. The NMT addon now discovers GGML backend plugins (OpenCL, Vulkan) at runtime via a new `NmtLazyInitializeBackend` singleton, mirroring the LLM addon's `LlamaLazyInitializeBackend` pattern.
- New `backendsDir` config param — points at the directory containing GGML backend `.so` plugins (e.g. the Android APK's native-lib path), unblocking GPU-backed inference on Android.
- New `openclCacheDir` config param — caches compiled OpenCL kernels for faster startup on subsequent loads.
- GPU backend `.so` plugins are installed into prebuilds via the `GGML_AVAILABLE_BACKENDS` CMake loop.

Test plan

  • CI (On PR Trigger (NMTCPP)) is green — in particular run-mobile-integration-tests / Build Android and Run E2E Tests (this is the regression we're cutting the release to fix)
  • Linux / macOS / Windows integration tests still green
  • iOS mobile still green
  • After merge: cut release-qvac-lib-infer-nmtcpp-2.1.0 branch and verify npm publish succeeds

Minor version bump for the new dynamic GGML backend loading feature
(#1617) which unblocks GPU-backed inference on Android via `backendsDir`
and adds `openclCacheDir` for faster OpenCL startup.
@github-actions

github-actions Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Tier-based Approval Status

**PR Tier:** TIER1

**Current Status:** ✅ APPROVED

**Requirements:**
- 1 Team Member approval ✅ (1/1)
- 1 Team Lead OR Management approval ✅ (2/1)

**Bypass rule:** Triggered (2+ Team Lead approvals (Tier 1 exception)). This PR is approved regardless of tier.

---
*This comment is automatically updated when reviews change.*

@github-actions

Copy link
Copy Markdown
Contributor

🧪 C++ Test Coverage Report

Coverage:

📊 Detailed Coverage
Filename                         Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NmtLazyInitializeBackend.cpp          47                 0   100.00%           7                 0   100.00%          67                 0   100.00%          24                 2    91.67%
NmtLazyInitializeBackend.hpp           2                 0   100.00%           1                 0   100.00%           1                 0   100.00%           0                 0         -
TranslationModel.cpp                 162                49    69.75%          23                 3    86.96%         326                65    80.06%          66                32    51.52%
TranslationModel.hpp                   1                 0   100.00%           1                 0   100.00%           1                 0   100.00%           0                 0         -
nmt.cpp                               72                22    69.44%           9                 1    88.89%         135                28    79.26%          38                12    68.42%
nmt.hpp                               51                 4    92.16%          11                 2    81.82%          53                 4    92.45%          28                 0   100.00%
nmt_beam_search.cpp                  116                25    78.45%          10                 3    70.00%         254                32    87.40%          74                17    77.03%
nmt_graph_decoder.cpp                164                78    52.44%          15                 7    53.33%         541               161    70.24%         112                69    38.39%
nmt_graph_encoder.cpp                 54                13    75.93%           3                 0   100.00%         268                33    87.69%          36                15    58.33%
nmt_loader.cpp                       283                80    71.73%          14                 0   100.00%         786               109    86.13%         148                71    52.03%
nmt_state_backend.cpp                199                53    73.37%          20                 0   100.00%         431                86    80.05%         122                53    56.56%
nmt_tokenization.cpp                  88                21    76.14%           8                 0   100.00%         135                36    73.33%          58                25    56.90%
nmt_utils.cpp                         24                 4    83.33%           3                 0   100.00%          36                 5    86.11%          16                 7    56.25%
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                               1263               349    72.37%         125                16    87.20%        3034               559    81.58%         722               303    58.03%

@github-actions

Copy link
Copy Markdown
Contributor

✅ E2E Mobile Test Results - iOS

Overall Status: PASSED
Device Farm Result: PASSED
Platform: iOS
Addon: @qvac/translation-nmtcpp
PR: #1710
Commit: f41d38f

Test Summary

Metric Count
Total Tests 3
✅ Passed 3
❌ Failed 0
⏭️ Skipped 0

Links

  • 🔗 Device Farm Run: View on AWS Device Farm
  • 🔗 Workflow: View Details
  • 📋 Run ARN: arn:aws:devicefarm:us-west-2:833707431398:run:cef7531e-44ed-4ddf-a349-a4b0f72f680d/a1a398e6-2eaa-44c4-93ba-60872b7085a5

Automated E2E mobile testing powered by AWS Device Farm
Tests located in: test/mobile/

@github-actions

Copy link
Copy Markdown
Contributor

✅ E2E Mobile Test Results - Android

Overall Status: PASSED
Device Farm Result: PASSED
Platform: Android
Addon: @qvac/translation-nmtcpp
PR: #1710
Commit: f41d38f

Test Summary

Metric Count
Total Tests 6
✅ Passed 6
❌ Failed 0
⏭️ Skipped 0

Links

  • 🔗 Device Farm Run: View on AWS Device Farm
  • 🔗 Workflow: View Details
  • 📋 Run ARN: arn:aws:devicefarm:us-west-2:833707431398:run:cef7531e-44ed-4ddf-a349-a4b0f72f680d/a6640f23-392c-4d20-b6d8-3db4fe6d02d0

Automated E2E mobile testing powered by AWS Device Farm
Tests located in: test/mobile/

@olyasir

olyasir commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

/review

@olyasir olyasir merged commit 1e59670 into main Apr 22, 2026
15 of 26 checks passed
@olyasir olyasir deleted the chore/bump-nmtcpp-2.1.0 branch April 22, 2026 17:13
@github-actions

Copy link
Copy Markdown
Contributor

❌ E2E Mobile Test Results - iOS

Overall Status: FAILED
Device Farm Result: UNKNOWN
Platform: iOS
Addon: @qvac/translation-nmtcpp
PR: #1710
Commit: f41d38f

Test Summary

Metric Count
Total Tests 0
✅ Passed 0
❌ Failed 0
⏭️ Skipped 0

Links


Automated E2E mobile testing powered by AWS Device Farm
Tests located in: test/mobile/

@github-actions

Copy link
Copy Markdown
Contributor

❌ E2E Mobile Test Results - Android

Overall Status: FAILED
Device Farm Result: UNKNOWN
Platform: Android
Addon: @qvac/translation-nmtcpp
PR: #1710
Commit: f41d38f

Test Summary

Metric Count
Total Tests 0
✅ Passed 0
❌ Failed 0
⏭️ Skipped 0

Links


Automated E2E mobile testing powered by AWS Device Farm
Tests located in: test/mobile/

Proletter pushed a commit that referenced this pull request May 24, 2026
Minor version bump for the new dynamic GGML backend loading feature
(#1617) which unblocks GPU-backed inference on Android via `backendsDir`
and adds `openclCacheDir` for faster OpenCL startup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants