| 373 | } |
| 374 | |
| 375 | static bool test_noise_learning(QPilotOSMachine& qvm, const CaseConf& conf) |
| 376 | { |
| 377 | size_t bit_num = 6; |
| 378 | auto q = qvm.allocateQubits(bit_num); |
| 379 | auto c = qvm.allocateCBits(bit_num); |
| 380 | |
| 381 | std::string param_json; |
| 382 | size_t loop{ 1 }; |
| 383 | if (conf.m_default) { |
| 384 | param_json = R"({ "ir": "QINIT 3\n CREG 3\n RY q[0],(1.43)\n RY q[1],(2.9)\n RY q[2],(1.47)\n CONTROL q[0]\n X q[1]\n ENDCONTROL\n RY q[0], (1.1)\n RY q[1],(-0.93)\n CONTROL q[0]\n X q[2]\n ENDCONTROL\n RY q[2],(-0.098)\n CONTROL q[1]\n X q[2]\n ENDCONTROL\n RY q[2],(-0.098)\n CONTROL q[0]\n X q[2]\n ENDCONTROL\n RY q[2], (-0.29)\n", |
| 385 | "pattern": 0, |
| 386 | "file": "common_generator.py", |
| 387 | "noise_model_file": "common_PER_experiment.pkl", |
| 388 | "samples": 10, |
| 389 | "nl_shots": 256, |
| 390 | "depths": [2, 4, 8], |
| 391 | "qem_base_method": 0 })"; |
| 392 | } |
| 393 | else { |
| 394 | JsonMsg::JsonBuilder json_builder; |
| 395 | json_builder.add_member("ir", conf.m_originir.at(0)); |
| 396 | json_builder.add_member("pattern", conf.m_em_compute_conf.m_pattern); |
| 397 | json_builder.add_member("file", conf.m_em_compute_conf.m_file); |
| 398 | json_builder.add_member("noise_model_file", conf.m_em_compute_conf.m_noise_model_file); |
| 399 | json_builder.add_member("samples", conf.m_em_compute_conf.m_samples); |
| 400 | json_builder.add_member("nl_shots", conf.m_em_compute_conf.m_nl_shots); |
| 401 | json_builder.add_array("depths", conf.m_em_compute_conf.m_depths); |
| 402 | json_builder.add_member("qem_base_method", conf.m_em_compute_conf.m_qem_base_method); |
| 403 | param_json = json_builder.get_json_str(true); |
| 404 | loop = conf.m_loop; |
| 405 | } |
| 406 | |
| 407 | for (size_t test_cnt = 0; test_cnt < loop; test_cnt++) |
| 408 | { |
| 409 | std::string task_id = qvm.noise_learning(param_json); |
| 410 | std::cout << "get task_id for noise em_compute, task_id: " << task_id << endl; |
| 411 | } |
| 412 | |
| 413 | qvm.Free_Qubits(q); |
| 414 | qvm.Free_CBits(c); |
| 415 | return true; |
| 416 | } |
| 417 | |
| 418 | static bool test_em_compute(QPilotOSMachine& qvm, const CaseConf& conf) |
| 419 | { |
nothing calls this directly
no test coverage detected