GitHub 热门项目:xq-rs

摘要

GitHub项目:xq-rs 仓库地址:https://github。com/QuipNetwork/xq-rs Stars:5614 | 作者:QuipNetwork 项目描述:A rust implementation of the Quip Network's quantum virtual machine。

and xqvm xqasm the The
2026-05-22 1 阅读 GitHub Trending
GitHub 项目:xq-rs 仓库地址:https://github.com/QuipNetwork/xq-rs 星级:5614 | 作者:Quip网络 项目描述:Quip 网络量子虚拟机的 Rust 实现。 =================================================== 自述文件内容: # 阿格莱斯 XQVM > **工作正在进行中。** 指令集、二进制格式和公共 API 是 > 不稳定,并且在标记稳定版本之前会发生更改,恕不另行通知。 > 目前不建议在生产环境中使用。 Aglais 是一个与硬件无关的量子计算虚拟机。 XQVM 是 Aglais 中负责表达二进制优化模型的模块 和目标函数。当前范围的目标是 X 二次模型 量子退火器(QUBO/Ising 公式)。 将其视为量子计算的 LLVM。 ## 目标 - **与硬件无关** -- 编写一次问题,在任何支持的后端上运行它。 - **统一字节码** -- 二进制的通用中间表示 针对量子退火器的优化问题。 - **可嵌入** -- 核心 VM 和字节码板条箱支持 `no_std + alloc`, 支持在 WASM 运行时和裸机环境中进行部署。 ## 工作区箱 |板条箱 |二进制 |描述 | |---|---|---| | `aglais-xqvm-字节码` | --|操作码表、指令类型、生成器、二进制编解码器、流读取器 | | `aglais-xqvm-asm` | `xqasm` |文本汇编器:`.xqasm` 源代码 -> 字节码 | | `aglais-xqvm-disasm` | `xqdism` |字节码 -> 人类可读的列表 | | `aglais-xqvm-vm` | `xqvm` |字节码解释器:堆栈、寄存器文件、QUBO/Ising 模型执行 | ## 开始使用 ### 先决条件 ````嘘 # 安装 Rust(稳定) 卷曲 --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs |嘘 # 安装开发工具 使部门 ```` ### 构建 ````嘘 货物构建--发布 ```` 二进制文件位于“target/release/xqasm”、“target/release/xqdism”、 和“目标/发布/xqvm”。 ### 运行一个例子 ````嘘 # 组装源文件 xqasm 程序.xqasm -o 程序.xqbc # 反汇编以检查编码 xqdism程序.xqbc # 执行 xqvm程序.xqbc ```` ### 一个最小程序 ````汇编 ;压入两个整数并将它们相加 推10 推32 添加 暂停 ```` 组装并运行: ````嘘 xqasm add.xqasm -o add.xqbc && xqvm add.xqbc ```` ## 架构 Aglais 是一个基于堆栈的解释器,具有 256 个槽的寄存器文件。 XQVM 是 处理 X 二次模型构建的模块:寄存器保存键入的值 -- 整数、整数向量、QUBO/Ising 模型 (`XqmxModel`) 和候选模型 解决方案(“XqmxSample”)。专用循环堆栈驱动“RANGE”/“ITER” 迭代。 操作码表(“crates/bytecode/src/types/table.rs”中的“opcodes!” x-macro)是 所有 76 条指令的单一事实来源。 `Opcode` 枚举,`Instruction` 枚举、助记符字符串和操作数都源自它。 二进制格式是没有标头的裸指令流。每条指令都是 操作码字节后跟按大端字节顺序排列的操作数。 请参阅“crates/vm/examples/tsp/”以获取完整的示例:旅行推销员 通过由 Rust 工具驱动的三个“.xqasm”程序将问题编码为 QUBO。 ## 贡献 S