{
  "id": 6863127,
  "title": "Memory64 moved the browser ceiling and exposed an ABI gap",
  "url": "https://urgent.news/2026/09/12/memory64-moved-the-browser-ceiling-and-exposed-an-abi-gap",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T04:30:00.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/sarthakagrawal927/memory64-moved-the-browser-ceiling-and-exposed-an-abi-gap-14o5"
  },
  "original_language": "en",
  "account": "Memory64 pushed the boundaries of the browser's WebAssembly capabilities, revealing a significant issue in the application binary interface (ABI). A 32-bit WebAssembly heap limited the browser ecosystem to a 4 GB cap, restricting the size of floating-point, 32-bit models to around 250 million parameters. However, by utilizing Memory64 and BigInt support, the pointer width changed, allowing for a larger allocation of 473,244,160 parameters in a mere 3.7 seconds. A full training step followed in 82.2 seconds before the memory was successfully freed.\n\nWhile the 32-bit module could not achieve this feat, the discovery had broader implications. The JavaScript-to-WebAssembly bridge in the browser remained untested in the Node benchmark, causing pointer values to switch between Number and BigInt formats. Consequently, larger in-browser settings resorted to the 32-bit path, limiting their potential. The outcome of this experiment revealed two crucial facts: Memory64 raised the theoretical allocation ceiling, and the product path still faced an ABI integration challenge. Despite this one-time success, it did not guarantee a seamless browser workflow. For further details, refer to https://posttrainllm.com/devlog.",
  "summary": "A 32-bit WebAssembly heap put the browser playground near a 4 GB ceiling. With weights and AdamW state, that limited the fp32 model size to roughly 250 million parameters. Compiling the same C++ source with Memory64 and BigInt support changed the pointer width. One measured run allocated 473,244,160 parameters in 3.7 seconds, completed a training step in 82.2 seconds, and freed the allocation…",
  "key_points": [
    "Memory64 expanded WebAssembly browser capabilities",
    "32-bit heap limited browser to 4 GB capacity",
    "BigInt support enabled 473 million parameters allocation"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}