10.3 Simulation

Simulation 节点 是 MiqroForge 工作流中执行量子电路模拟 的终端节点,负责读取 QASM 量子线路文件并在QPU(真实量子计算机)/带噪声模型的模拟器中运行,输出观测结果(测量计数分布)。该节点支持自动注入 IBM 风格的误差模型(含单量子门、双量子门和测量噪声),可以帮助用户在理想和实际硬件条件之间建立桥梁。

10.3.1 node.json配置解析

本节点的所有配置说明、测试用例等,均集成于 node.json 文件中,您可以通过该文件来学习和配置您用于输入的计算节点。

{
    "id": "a45270e3-33c5-4b2c-8b24-sim-node-2025",
    "name": {"cn":"Simulation 节点",
             "en":"Simulation Node"},
    "version": "1.0.0",

   
    "input":{
        "upstream":[
            {"var": "qasm_code_file_path",  // 变量名 与config.json和main.py一致
             "name": { "cn": "量子线路qasm对象", // 前端显示名称,可缺省
                       "en": "qasm code object"},
             "description": "输入量子线路(QASM 格式)"}

            ],
            "web":[
                {"var": "shots", 
                 "name": { "cn": "测量次数",
                           "en": "shots number"},
                 "description": "模拟测量次数(shots),建议在 1000 - 100000 范围内调整",
                 "ui": "plain_text"}
            ]
    },
    "output":{
        "downstream":[
            	{"var": "measure_counts_file_path", 
             	"name": { "cn": "测量结果字典对象",
                       "en": "measure result dict"},
             	"description": "输出测量结果统计计数字典(state -> count)"
            	}
            ]	
	},
        
    "performance_config_path": "/app/simulation/performance_config.json",
    "example_config_path": "/app/simulation/example/test_config.json",
    "contact": {
        "name": "微观纪元量子化学团队",
        "email": "wuchuixiong@miqroera.com",
    },
    "execution_command": "python /app/simulation/script/main.py  --config_path ${input_config_path}" // 必须囊括 ${input_config_path} 变量
}

下列表格旨在详细解析MiqroForge系统中节点配置文件的结构与内容。节点配置文件是确保各个计算节点能够正确部署、初始化并高效运行的关键。通过该表格,用户可以清晰地了解每个配置项的意义、数据类型、默认值以及是否为必需项。此外,还将提供一些示例值以帮助理解如何根据实际需要进行配置。

基本信息

字段名

必填

描述

约束/选项

示例值

id

节点全局唯一标识符,在初始化节点时自动生成

UUID格式

684bee08-a78d-4b1f-87a8-91910ca81f38

version

节点版本号

语义化版本

1.0.0

输入/输出配置 (inputs/outputs)

simulation-node

在图中清晰地展示了Simulation计算节点的输入输出关系及UI界面配置选项,强调了从QASM量子线路输入经过模拟计算输出测量结果统计计数字典,以及与上下游节点的交互方式。

  1. 上游输入:(upstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  2. webUI输入 (web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输入样式

  3. 下游输出:(downstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  4. webUI输出:(web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输出样式

性能配置/测试案例

字段名

必填

描述

约束/选项

performance_config

性能配置文件路径

绝对路径

example_config_path

运行测试输入文件test_config_path

绝对路径

execution_command

节点执行命令

联系信息 (contact)

字段名

必填

描述

约束/选项

示例值

name

维护者名称

-

"微观纪元量子化学团队"

email

联系邮箱

有效邮箱格式

"wuchuixiong@miqroera.com"

10.3.2 config.json 节点测试及配置说明

MiqroForge 平台中,每个节点镜像都包含一个标准化的测试配置文件 test_config.json。此文件位于节点的 /app/example/ 目录中,是验证节点功能的关键工具。

在节点的实际运行中,test_config.json或通过MiqroForge生成的${input_config_path}指向的config文件,他们的作用是作为计算时的输入/输出配置文件。用户在编写可执行程序时,需要保证main.py或其他可执行程序从config文件中读取到变量名。这些变量名和node.json中的变量名要保持一致。

测试配置文件示例(Simulation节点):

{
    "shots": 10000,
    "qasm_code_file_path":"/app/simulation/example/h2o-qasm.qasm" ,
    "measure_counts_file_path": "/app/simulation/example/h2o-measure_counts.json"
    
}