开源推荐
morning
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