Performance diagnostic program, performance diagnostic method, and information processing device.

By analyzing attribute and performance information of quantum circuits, the method identifies critical factors impacting simulator speed, allowing for precise performance diagnostics and targeted enhancements.

JP2026113324APending Publication Date: 2026-07-07FUJITSU LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJITSU LTD
Filing Date
2024-12-25
Publication Date
2026-07-07

Smart Images

  • Figure 2026113324000001_ABST
    Figure 2026113324000001_ABST
Patent Text Reader

Abstract

To make it easier to identify areas with performance issues in quantum simulators. [Solution] The information processing device 101 acquires attribute information 121 to 123 representing two or more attributes of each quantum circuit 111 to 113. The information processing device 101 acquires performance information 131 to 133 representing the performance of the simulator to be diagnosed 102 relative to the other simulator 103, based on the execution time when each quantum circuit 111 to 113 is executed in the simulator to be diagnosed 102 and the other simulator 103, respectively. The information processing device 101 uses two or more attributes represented by the attribute information 121 to 123 as explanatory variables and the performance represented by the performance information 131 to 133 as the objective variable, and statistically analyzes the relationship between the explanatory variables and the objective variable to identify attributes that are significant to the objective variable from the two or more attributes represented by the attribute information 121 to 123. The information processing device 101 outputs information 140 representing the identified significant attributes.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a performance diagnostic program, a performance diagnostic method, and an information processing device. [Background technology]

[0002] Traditionally, quantum simulators have been developed to mimic quantum computers on classical computers. Performance, such as computation speed, is crucial for quantum simulators. Therefore, performance testing and comparisons of quantum simulators using various benchmark circuits are actively conducted.

[0003] Prior art includes computing systems that sample quantum hardware samples from quantum hardware sample generation models and obtain one or more simulated performance measurements based at least partially on these quantum hardware samples. There are also techniques for analyzing the execution of quantum services using quantum computing devices and quantum simulators.

[0004] Furthermore, there are techniques for acquiring data in the installed state of equipment and using that data, along with at least a reference model, to predict the performance values ​​of the equipment in its installed state at a predetermined point in time. There are also techniques for estimating the performance of policies for managing datasets. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Special Publication No. 2023-534269 [Patent Document 2] U.S. Patent Application Publication No. 2023 / 0035786 [Patent Document 3] Japanese Patent Publication No. 2024-40138 [Patent Document 4] U.S. Patent Application Publication No. 2010 / 0114554

Summary of the Invention

Problems to be Solved by the Invention

[0006] However, in the prior art, even if it is found that there is a problem with the performance of a quantum simulator through performance tests and performance comparisons using a benchmark circuit or the like, it is difficult to identify where the problem lies.

[0007] In one aspect, the present invention aims to make it easier to identify a portion where there is a problem with the performance of a quantum simulator.

Means for Solving the Problems

[0008] In one embodiment, attribute information representing two or more attributes of each of a plurality of quantum circuits is acquired, and performance information representing the performance of the diagnostic target simulator relative to another simulator based on the execution time when each of the quantum circuits is executed by the diagnostic target simulator and the other simulator is acquired. Using each of the two or more attributes represented by the acquired attribute information as an explanatory variable and the performance represented by the acquired performance information as an objective variable, by statistically analyzing the relationship between the explanatory variable and the objective variable, a significant attribute for the objective variable is identified from the two or more attributes, and information representing the identified significant attribute is output, and a performance diagnosis program is provided.

Effects of the Invention

[0009] According to one aspect of the present invention, there is an effect that it is possible to make it easier to identify a portion where there is a problem with the performance of a quantum simulator.

Brief Description of the Drawings

[0010] [Figure 1] FIG. 1 is an explanatory diagram showing an example of a performance diagnosis method according to an embodiment. [Figure 2]FIG. 2 is an explanatory diagram showing an example of the system configuration of the information processing system 200. [Figure 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the performance diagnostic apparatus 201. [Figure 4] FIG. 4 is an explanatory diagram showing an example of the stored content of the benchmark circuit DB220. [Figure 5] FIG. 5 is a block diagram showing an example of the functional configuration of the performance diagnostic apparatus 201. [Figure 6] FIG. 6 is an explanatory diagram showing an example of the stored content of the attribute information table 600. [Figure 7] FIG. 7 is an explanatory diagram showing an example of the stored content of the performance information table 700. [Figure 8] FIG. 8 is an explanatory diagram showing a specific example of the regression analysis result. [Figure 9] FIG. 9 is an explanatory diagram showing a first output example of the performance diagnostic result. [Figure 10] FIG. 10 is an explanatory diagram showing a second output example of the performance diagnostic result. [Figure 11] FIG. 11 is an explanatory diagram showing a screen example of the variable selection screen. [Figure 12] FIG. 12 is a flowchart (Part 1) showing an example of the performance diagnostic processing procedure of the performance diagnostic apparatus 201. [Figure 13] FIG. 13 is a flowchart (Part 2) showing an example of the performance diagnostic processing procedure of the performance diagnostic apparatus 201.

BEST MODE FOR CARRYING OUT THE INVENTION

[0011] Hereinafter, embodiments of a performance diagnostic program, a performance diagnostic method, and an information processing apparatus according to the present invention will be described in detail with reference to the drawings.

[0012] (Embodiment) Figure 1 is an explanatory diagram showing one embodiment of the performance diagnostic method according to the embodiment. In Figure 1, the information processing device 101 is a computer that performs performance diagnostics of a quantum simulator. Performance diagnostics of a quantum simulator involve diagnosing areas of the quantum simulator that have performance problems.

[0013] A quantum simulator is software (computer system) that simulates a quantum computer on a classical computer to perform quantum operations. Quantum operations are a series of operations that apply gates to qubits. Quantum operations are written as quantum circuits. A quantum circuit is information that describes what operations to perform on qubits. A quantum circuit includes qubits and gates (quantum gates) that represent the content of the operations to be performed on the qubits.

[0014] Here, quantum circuits can be executed, for example, on a real quantum computer or a quantum simulator. However, real quantum computers are often only available to a limited number of users, such as researchers at specific companies or universities. Furthermore, real quantum computers are highly susceptible to noise, and errors can occur during calculations.

[0015] Therefore, quantum simulators are essential for executing quantum circuits. In quantum simulators, performance, such as computation speed, is crucial. Traditionally, performance tests and comparisons of quantum simulators have been conducted to evaluate their capabilities.

[0016] For example, standard problems (benchmark problems) are prepared to evaluate the computational speed of quantum simulators, and the time required to solve these problems using the quantum simulator is one of the evaluation metrics. For instance, the computational speed of a quantum simulator under development can be evaluated by comparing the time required to run a benchmark circuit on that simulator with that of other quantum simulators. A benchmark circuit is a quantum circuit designed to solve standard problems.

[0017] However, with conventional technology, even if benchmark circuits reveal that a quantum simulator is "slow," it is difficult to pinpoint where the problem lies within the simulator. For example, even if a comparison with other quantum simulators indicates that the computation speed should be improved, conventional technology cannot identify the specific area causing the slow computation speed.

[0018] Therefore, in this embodiment, we will describe a performance diagnostic method that makes it easier to identify problematic areas in the performance of a quantum simulator by using attribute information of various quantum circuits (for example, benchmark circuits) to identify attributes that have a significant impact on the performance (computation speed) of the quantum simulator.

[0019] Here, we will describe an example of processing by the information processing device 101. Here, the quantum simulator to be diagnosed is referred to as "Simulator to be diagnosed 102," and other quantum simulators different from Simulator to be diagnosed 102 are referred to as "Other simulators 103." Simulator to be diagnosed 102 is, for example, a quantum simulator under development that has been determined to have performance problems through performance tests or performance comparisons. Other simulators 103 are, for example, existing quantum simulators and can be arbitrarily specified.

[0020] (1) The information processing device 101 acquires attribute information representing two or more attributes of each of the multiple quantum circuits. Here, the multiple quantum circuits are quantum circuits prepared in advance to evaluate the performance of the quantum simulator. The attributes of each quantum circuit represent the characteristics of each quantum circuit, such as the total number of gates, the number of measurement gates, the number of CNOT gates, and the number of qubits of each quantum circuit.

[0021] Here, multiple quantum circuits are referred to as "quantum circuits 111, 112, and 113." For example, quantum circuit 111 includes qubits q0 to q2 and gates (quantum gates) that act on qubits q0 to q2. However, in Figure 1, a simplified configuration of the quantum circuit is shown for the sake of simplicity.

[0022] Specifically, quantum circuit 111 is a quantum circuit that first applies an H gate to qubits q0 and q2, then applies a control Y gate to qubits q0 and q2, then applies an RY gate to qubit q1, and finally applies a control X gate to qubits q1 and q2.

[0023] The information processing device 101 acquires attribute information 121 to 123, which represents two or more attributes of each quantum circuit 111 to 113. For example, attribute information 121 includes the attribute name and attribute value of two or more attributes of quantum circuit 111. Taking the attribute name "Total number of gates" of quantum circuit 111 as an example, since quantum circuit 111 contains 5 gates, the attribute value is "5".

[0024] Furthermore, the information processing device 101 acquires performance information 131 to 133 representing the performance of the simulator under diagnosis 102 relative to other simulators 103. The performance of the simulator under diagnosis 102 relative to other simulators 103 is based on the execution time when each quantum circuit 111 to 113 is executed in the simulator under diagnosis 102 and the other simulators 103, respectively.

[0025] The performance of the simulator under diagnosis 102 relative to other simulators 103 may be expressed as the difference between the first execution time when each quantum circuit 111 to 113 is executed in the simulator under diagnosis 102 and the second execution time when each quantum circuit 111 to 113 is executed in the other simulators 103.

[0026] For example, performance information 131 represents the difference (first execution time - second execution time) between the first execution time when each quantum circuit 111 is executed on the simulator under diagnosis 102 and the second execution time when each quantum circuit 111 is executed on another simulator 103. Performance information 131 to 133 correspond to information that represents the relative computation speed of the simulator under diagnosis 102 compared to the other simulator 103.

[0027] (2) The information processing device 101 uses each of the two or more attributes represented by the attribute information 121 to 123 as an explanatory variable and the performance represented by the performance information 131 to 133 as the dependent variable, and by statistically analyzing the relationship between the explanatory variables and the dependent variable, it identifies an attribute that is significant with respect to the dependent variable from the two or more attributes represented by the attribute information 121 to 123. Here, an attribute that is significant with respect to the dependent variable is an attribute that can be said to contribute greatly to explaining the dependent variable.

[0028] Any existing statistical analysis method may be used, such as regression analysis or decision tree analysis. Specifically, for example, the information processing device 101 creates a regression model (the desired regression equation) in which each of the two or more attributes represented by attribute information 121 to 123 is used as an explanatory variable, and the performance represented by performance information 131 to 133 is used as the dependent variable.

[0029] Next, the information processing device 101 calculates a regression model (regression equation) by performing a regression analysis on the relationship between the explanatory variables and the dependent variable based on the attribute information 121-123 and the performance information 131-133. Then, based on the regression analysis results, the information processing device 101 identifies attributes that are significant to the dependent variable of the calculated regression model.

[0030] Here, we assume that "Attribute X" has been identified as a significant attribute.

[0031] (3) The information processing device 101 outputs information 140 representing the identified significant attribute X. Here, the information 140 corresponds to the performance diagnostic result of the simulator 102 under diagnosis, and indicates that attribute X has a significant impact on the performance (calculation speed) of the simulator 102 under diagnosis.

[0032] In this way, the information processing device 101 makes it easier to identify problematic areas in the performance of the simulator 102 under diagnosis. For example, by outputting information 140 representing attribute X, which greatly affects the performance of the simulator 102 under diagnosis, as a performance diagnosis result, the information processing device 101 makes it easier to determine areas of the simulator 102's specifications that need improvement. For example, a developer can infer that there is some problem in the part of the simulator 102 under diagnosis related to attribute X (for example, the code description) that is slowing down the calculation speed.

[0033] (Example of system configuration for information processing system 200) Next, we will describe an example of the system configuration of the information processing system 200, which includes the information processing device 101 shown in Figure 1. Here, we will explain using the case where the information processing device 101 shown in Figure 1 is applied to the performance diagnostic device 201 within the information processing system 200 as an example.

[0034] Figure 2 is an explanatory diagram showing an example of the system configuration of the information processing system 200. In Figure 2, the information processing system 200 includes a performance diagnostic device 201 and a client device 202. In the information processing system 200, the performance diagnostic device 201 and the client device 202 are connected via a wired or wireless network 210. The network 210 is, for example, the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).

[0035] The information processing system 200 is a computer system for performing performance diagnostics on a quantum simulator. Here, the performance diagnostic device 201 is a computer that has a benchmark circuit database 220 and performs performance diagnostics on the quantum simulator. The performance diagnostic device 201 is, for example, a server. The contents of the benchmark circuit database will be described later using Figure 4.

[0036] Client device 202 is a computer used by a user of the information processing system 200. The user is, for example, a developer of a quantum simulator. Client device 202 can be, for example, a PC (Personal Computer), a tablet PC, etc.

[0037] In the information processing system 200, a user can access the performance diagnostic device 201 from the client device 202 to perform a performance diagnostic of the quantum simulator. Specifically, for example, the client device 202 sends a performance diagnostic request to the performance diagnostic device 201 based on the user's input.

[0038] A performance diagnostic request requests a performance diagnostic of a quantum simulator and includes information such as identifying the simulator to be diagnosed and a reference simulator. When the performance diagnostic device 201 receives a performance diagnostic request from the client device 202, it performs a performance diagnostic of the simulator to be diagnosed as identified in the performance diagnostic request.

[0039] In this example, the performance diagnostic device 201 and the client device 202 are provided as separate components, but this is not the only option. For example, the performance diagnostic device 201 may be implemented by the client device 202. Furthermore, the information processing system 200 may include multiple client devices 202.

[0040] (Example hardware configuration of performance diagnostic device 201) Next, we will describe an example of the hardware configuration of the performance diagnostic device 201.

[0041] Figure 3 is a block diagram showing an example of the hardware configuration of the performance diagnostic device 201. In Figure 3, the performance diagnostic device 201 includes a CPU (Central Processing Unit) 301, memory 302, disk drive 303, disk 304, communication interface 305, portable recording medium interface 306, and portable recording medium 307. Each component is connected by a bus 300.

[0042] Here, the CPU 301 controls the entire performance diagnostic device 201. The CPU 301 may have multiple cores. The memory 302 includes, for example, ROM (Read Only Memory) and RAM (Random Access Memory). The program stored in the memory 302 is loaded into the CPU 301, causing the CPU 301 to execute the coded process.

[0043] The disk drive 303 controls the reading and writing of data to the disk 304 according to the control of the CPU 301. The disk 304 stores the data written under the control of the disk drive 303. The disk 304 is, for example, a magnetic disk, an optical disk, etc.

[0044] The communication interface 305 is connected to the network 210 via a communication line, and through the network 210, it is connected to an external computer (for example, the client device 202 shown in Figure 2). The communication interface 305 manages the interface between the network 210 and the inside of the device, and controls the input and output of data from the external computer. The communication interface 305 is, for example, a modem or a LAN adapter.

[0045] The portable recording medium interface 306 controls the reading and writing of data to the portable recording medium 307 according to the control of the CPU 301. The portable recording medium 307 stores the data written under the control of the portable recording medium interface 306. The portable recording medium 307 is, for example, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), or a USB (Universal Serial Bus) memory.

[0046] The performance diagnostic device 201 may also have, in addition to the components described above, an input device, a display, etc. Furthermore, the performance diagnostic device 201 does not necessarily have, among the components described above, a portable recording medium I / F 306 and a portable recording medium 307. The client device 202 shown in Figure 2 can also be implemented with the same hardware configuration as the performance diagnostic device 201. However, the client device 202 may also have, in addition to the components described above, an input device, a display, etc.

[0047] (Contents stored in benchmark circuit DB220) Next, using Figure 4, the contents of the benchmark circuit DB220 of the performance diagnostic device 201 will be explained. The benchmark circuit DB220 is implemented using storage devices such as the memory 302 and disk 304 shown in Figure 3.

[0048] Figure 4 is an explanatory diagram showing an example of the contents stored in the benchmark circuit DB220. In Figure 4, there are fields for ID, circuit name, and circuit information, and by setting information in each field, benchmark circuit management information (for example, benchmark circuit management information 400-1 to 400-3) is stored as a record.

[0049] Here, `id` is an identifier that uniquely identifies the benchmark circuit. A benchmark circuit is a quantum circuit used to solve standard problems (benchmark problems) and is used to evaluate the performance of a quantum simulator. The circuit name is the name of the benchmark circuit. The circuit information is information that identifies the circuit configuration of the benchmark circuit.

[0050] For example, benchmark circuit management information 400-1 indicates the circuit name "adder_n10" and circuit information f1 of benchmark circuit B1. Note that, as benchmark circuits, quantum circuits included in software such as QASMBench or MQT Bench can be used.

[0051] (Example of functional configuration of performance diagnostic device 201) Next, we will describe an example of the functional configuration of the performance diagnostic device 201.

[0052] Figure 5 is a block diagram showing an example of the functional configuration of the performance diagnostic device 201. In Figure 5, the performance diagnostic device 201 includes an acquisition unit 501, a calculation unit 502, a measurement unit 503, an analysis unit 504, an output unit 505, and a storage unit 510. The acquisition unit 501 to the output unit 505 function as the control unit 500, and specifically, they realize their functions by having the CPU 301 execute a program stored in a storage device such as the memory 302, disk 304, or portable recording medium 307 shown in Figure 3, or by using a communication I / F 305. The processing results of each functional unit are stored in a storage device such as the memory 302 or disk 304. The storage unit 510 is realized by a storage device such as the memory 302 or disk 304. Specifically, the storage unit 510 stores an attribute information table 600 as shown in Figure 6, a performance information table 700 as shown in Figure 7, and so on.

[0053] The acquisition unit 501 acquires circuit information for each of the multiple benchmark circuits. Here, the circuit information is information that can identify the circuit configuration of the benchmark circuit. The circuit information includes, for example, information about the qubits included in the benchmark circuit and the gates (quantum gates) that act on the qubits. The circuit information is, for example, information in file format.

[0054] In the following explanation, multiple benchmark circuits will be referred to as "benchmark circuits B1 to Bn" (where n is a natural number greater than or equal to 2), and any benchmark circuit among benchmark circuits B1 to Bn may be referred to as "benchmark circuit Bi" (i=1,2,…,n).

[0055] Specifically, for example, the acquisition unit 501 may acquire circuit information for each benchmark circuit Bi from a website containing various available benchmark circuits. Alternatively, the acquisition unit 501 may acquire circuit information for each benchmark circuit Bi from the client device 202 shown in Figure 2. Furthermore, the acquisition unit 501 may acquire circuit information for each benchmark circuit Bi through user input using an input device (not shown).

[0056] The circuit information for each acquired benchmark circuit Bi is stored in the benchmark circuit DB220 shown in Figure 4, for example, associated with the ID and circuit name of each benchmark circuit Bi. The ID and circuit name are acquired together with the circuit information for each benchmark circuit Bi, for example. The ID may be assigned by the performance diagnostic device 201.

[0057] The calculation unit 502 calculates attribute values ​​for each attribute of each benchmark circuit Bi based on the circuit information of each benchmark circuit Bi that has been acquired. Here, the attributes of the benchmark circuit Bi are information that represents the characteristics of the benchmark circuit Bi. It is possible to arbitrarily set which characteristics of the benchmark circuit Bi are treated as attributes.

[0058] For example, the attribute of benchmark circuit Bi may be the total number of gates. The total number of gates is the total number of gates included in benchmark circuit Bi. The attribute of benchmark circuit Bi may also be the number of measurement gates, or the measurement gate ratio. The number of measurement gates is the number of measurement gates included in benchmark circuit Bi. A measurement gate is a gate that performs measurements on a qubit. The measurement gate ratio is the ratio of the number of measurement gates to the total number of gates.

[0059] The attributes of the benchmark circuit Bi may be the number of gates of a particular type, or the proportion of gates of a particular type. The number of gates of a particular type is the number of gates of a particular type included in the benchmark circuit Bi. The proportion of gates of a particular type is the ratio of the number of gates of a particular type to the total number of gates. Examples of gates of a particular type include H gates, T gates, and CNOT gates.

[0060] The attributes of the benchmark circuit Bi may also be the number of qubits. The number of qubits is the number of qubits contained in the benchmark circuit Bi. The attributes of the benchmark circuit Bi may also be the number of single-qubit gates. The number of single-qubit gates is the number of gates acting on one qubit. The attributes of the benchmark circuit Bi may also be the number of multi-qubit gates. The number of multi-qubit gates is the number of gates acting on multiple qubits.

[0061] An attribute of the benchmark circuit Bi may be its depth. The depth corresponds to the number of steps required to apply gates to the qubits. An attribute of the benchmark circuit Bi may also be the number of parameterized rotation gates. The number of parameterized rotation gates is the number of parameterized rotation gates included in the benchmark circuit Bi.

[0062] Furthermore, the attributes of the benchmark circuit Bi may also be statistical information indicating the execution status obtained when the benchmark circuit Bi is executed. This statistical information may include, for example, statistical values ​​(average, maximum, etc.) of memory usage and the number of threads used when the benchmark circuit Bi is executed.

[0063] Specifically, for example, the calculation unit 502 refers to the benchmark circuit DB220 to identify the circuit information f1 of the benchmark circuit B1. Then, based on the identified circuit information f1, the calculation unit 502 calculates attribute values ​​for each attribute of the benchmark circuit B1.

[0064] For example, if the attribute is "Number of CNOT gates," the calculation unit 502 counts the number of CNOT gates included in the benchmark circuit B1 based on the circuit information f1. This allows the calculation unit 502 to calculate the attribute value of the attribute named "Number of CNOT gates" for the benchmark circuit B1.

[0065] Furthermore, if the attribute is set to "memory usage," the calculation unit 502 calculates the average memory usage when the benchmark circuit B1 is executed on any quantum simulator. This allows the calculation unit 502 to calculate the attribute value of the attribute named "memory usage" for the benchmark circuit B1. The arbitrary quantum simulator may include, for example, a simulator to be diagnosed or a reference simulator.

[0066] Furthermore, the calculation unit 502 may, for example, pre-calculate the attribute values ​​for each of the pre-set attributes for each benchmark circuit Bi prior to the statistical analysis processing by the analysis unit 504. The pre-set attributes correspond to all the attributes expected for the benchmark circuit Bi. In addition, the calculation unit 502 may calculate the attribute values ​​for each of the two or more attributes used in the statistical analysis processing each time the statistical analysis processing is performed by the analysis unit 504.

[0067] Furthermore, the calculation unit 502 stores the attribute values ​​for each attribute calculated in association with each benchmark circuit Bi in the storage unit 510. Specifically, for example, the calculation unit 502 may store the attribute values ​​for each attribute calculated in association with the circuit name (or ID) of each benchmark circuit Bi in an attribute information table 600 as shown in Figure 6, which will be described later.

[0068] The measurement unit 503 measures the first execution time when each benchmark circuit Bi is executed on the simulator under diagnosis by executing each benchmark circuit Bi on the simulator under diagnosis. The simulator under diagnosis is the quantum simulator to be diagnosed. The simulator under diagnosis is, for example, a quantum simulator under development that has been judged to be "slow" through performance tests or performance comparisons. The simulator under diagnosis corresponds to, for example, the simulator under diagnosis 102 shown in Figure 1.

[0069] Furthermore, the measurement unit 503 measures a second execution time for each benchmark circuit Bi when it is executed in the reference simulator by executing each benchmark circuit Bi in the reference simulator. The reference simulator is a different simulator from the simulator under diagnosis, and is a quantum simulator that serves as a reference for comparing its performance with that of the simulator under diagnosis. The reference simulator can be set arbitrarily. The reference simulator corresponds, for example, to the other simulator 103 shown in Figure 1. The simulator under diagnosis and the reference simulator are identified, for example, from a performance diagnosis request from the client device 202.

[0070] Furthermore, the measurement unit 503 may calculate the performance of the simulator under diagnosis relative to the reference simulator based on the first and second execution times when each benchmark circuit Bi is executed on the simulator under diagnosis and the reference simulator, respectively. Here, the performance of the simulator under diagnosis relative to the reference simulator corresponds to information representing the relative speed of the calculation of the simulator under diagnosis relative to the reference simulator.

[0071] The performance of the simulator under diagnosis relative to a reference simulator may be expressed, for example, by the difference between the first execution time and the second execution time. The difference between the first execution time and the second execution time is, for example, the value obtained by subtracting the second execution time from the first execution time. Alternatively, the performance of the simulator under diagnosis relative to a reference simulator may be expressed, for example, by the ratio of the difference between the first execution time and the second execution time to the second execution time (or the first execution time).

[0072] In the following explanation, the performance of the simulator being diagnosed relative to the reference simulator may be referred to as "Performance P".

[0073] The measurement unit 503 may store the measured first execution time and second execution time in the storage unit 510 in association with each benchmark circuit Bi. The measurement unit 503 may also store the calculated performance P of the simulator to be diagnosed relative to the reference simulator in the storage unit 510 in association with each benchmark circuit Bi.

[0074] Specifically, for example, the calculation unit 502 may store the measured first execution time and second execution time, along with the calculated performance P of the simulator to be diagnosed relative to the reference simulator, in a performance information table 700 as shown in Figure 7, which will be described later, in association with the circuit name (or ID) of each benchmark circuit Bi.

[0075] The first and second execution times for each benchmark circuit Bi when executed on the simulator under diagnosis and the reference simulator may be measured on a computer other than the performance diagnostic device 201. In this case, the measurement unit 503 may obtain the first and second execution times for each benchmark circuit Bi from the other computer.

[0076] The analysis unit 504 acquires attribute information representing each of the two or more attributes of each benchmark circuit Bi. Here, the two or more attributes of each benchmark circuit Bi are the two or more attributes used in the statistical analysis processing by the analysis unit 504, and may be pre-set, for example, or selected by user input.

[0077] The selection of two or more attributes used in the statistical analysis processing by the analysis unit 504 may be performed, for example, on a variable selection screen 1100 as shown in Figure 11, which will be described later.

[0078] Specifically, for example, the analysis unit 504 refers to the storage unit 510 to obtain attribute information including the attribute values ​​of each of the two or more attributes of each benchmark circuit Bi. More specifically, for example, the analysis unit 504 refers to the attribute information table 600 shown in Figure 6 to obtain attribute information including the attribute names and attribute values ​​of each of the two or more attributes of each benchmark circuit Bi.

[0079] In the following explanation, two or more attributes of the benchmark circuit Bi used in the statistical analysis processing by the analysis unit 504 may be denoted as "attributes A1 to Am" (where m is a natural number greater than or equal to 2). In addition, any attribute among attributes A1 to Am may be denoted as "attribute Aj" (where j=1, 2, ..., m).

[0080] Here, we will explain the contents of attribute information table 600.

[0081] Figure 6 is an explanatory diagram showing an example of the contents stored in the attribute information table 600. In Figure 6, the attribute information table 600 stores the attribute information of each benchmark circuit Bi (for example, attribute information 600-1 to 600-3). The attribute information of each benchmark circuit Bi corresponds to the circuit name of each benchmark circuit Bi and represents the attribute name and attribute value for each attribute Aj included in attributes A1 to Am. Note that strings preceded by # correspond to attribute names.

[0082] For example, attribute information 600-1 represents the attribute names and attribute values ​​for each attribute A1 to Am of benchmark circuit B1 with the circuit name "adder_n10". For example, attribute A1 indicates the attribute with the attribute name "Number of qubits (#qubit)". Attribute A2 indicates the attribute with the attribute name "Total number of gates (#gate)". Attribute A3 indicates the attribute with the attribute name "Number of CNOT gates (#cnot)". Attribute A4 indicates the attribute with the attribute name "CNOT gate ratio (#A3 / A2)".

[0083] For example, if benchmark circuits B1 to Bn are referred to as "benchmark circuits B1 to B3" (n=3), the analysis unit 504 refers to the attribute information table 600 and obtains attribute information 600-1 to 600-3 for each benchmark circuit B1 to B3.

[0084] The analysis unit 504 may acquire attribute information, including the attribute values ​​A1 to Am of each benchmark circuit Bi, by receiving it from the client device 202 or by user input using an input device (not shown).

[0085] Furthermore, the analysis unit 504 acquires performance information representing the performance P of the simulator under diagnosis relative to the reference simulator, based on the execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the reference simulator, respectively.

[0086] Specifically, for example, the analysis unit 504 refers to the memory unit 510 to obtain performance information representing the performance P of the simulator to be diagnosed relative to the reference simulator. More specifically, for example, the analysis unit 504 refers to the performance information table 700 shown in Figure 7 to obtain performance information representing the performance P of the simulator to be diagnosed relative to the reference simulator.

[0087] Here, we will explain the contents of the performance information table 700.

[0088] Figure 7 is an explanatory diagram showing an example of the contents stored in the performance information table 700. In Figure 7, the performance information table 700 stores the performance information of each benchmark circuit Bi (for example, performance information 700-1 to 700-3). The performance information of each benchmark circuit Bi is associated with the circuit name of each benchmark circuit Bi and represents the execution time t1, execution time t2, and performance.

[0089] Execution time t1 corresponds to the second execution time (in seconds) when the benchmark circuit Bi is executed on the reference simulator. Execution time t2 corresponds to the first execution time (in seconds) when the benchmark circuit Bi is executed on the simulator being diagnosed. Performance corresponds to the performance P of the simulator being diagnosed relative to the reference simulator.

[0090] Here, performance is the value obtained by subtracting the execution time t1 (second execution time) from the execution time t2 (first execution time) (t2-t1). For example, performance information 700-1 represents the execution time t1 "0.10", execution time t2 "0.14", and performance "0.04" for benchmark circuit B1 with circuit name "adder_n10". Note that if the value obtained by subtracting the execution time t1 from the execution time t2 (t2-t1) is a negative value, the analysis unit 504 may set the performance to "0".

[0091] For example, if benchmark circuits B1 to Bn are referred to as "benchmark circuits B1 to B3" (n=3), the analysis unit 504 refers to the performance information table 700 and obtains performance information 700-1 to 700-3 for each benchmark circuit B1 to B3.

[0092] The analysis unit 504 may also acquire performance information representing the performance P of the simulator to be diagnosed relative to the reference simulator by receiving it from the client device 202 or by user input using an input device (not shown).

[0093] Then, the analysis unit 504 uses the attributes A1 to Am of each benchmark circuit Bi represented by the acquired attribute information as explanatory variables, and the performance P represented by the acquired performance information as the target variable, and statistically analyzes the relationship between the explanatory variables and the target variable to identify attributes significant to the target variable from the attributes A1 to Am. Examples of statistical analysis methods include regression analysis and decision tree analysis.

[0094] Here, regression analysis will be taken as an example to explain as a statistical analysis method.

[0095] Specifically, for example, the analysis unit 504 uses the attributes A1 to Am of each benchmark circuit Bi represented by the acquired attribute information as explanatory variables x1 to x m and uses the performance P represented by the acquired performance information as the target variable y to create a regression equation as shown in the following formula (1). However, y indicates the target variable. x1 to x m indicate explanatory variables. x j corresponds to the attribute Aj. β0 to β m indicate coefficients (partial regression coefficients).

[0096] y = β0 + β1·x1 + β2·x2 + … + β m ·x m ···(1)

[0097] Next, the analysis unit 504 calculates the regression equation by performing a regression analysis on the relationship between the explanatory variables and the target variable based on the acquired attribute information and performance information. To explain in more detail, for example, the analysis unit 504 uses the least squares method based on the attribute value of each attribute Aj (explanatory variable x j ) represented by the attribute information of each benchmark circuit Bi and the performance P (t2 - t1) represented by the performance information of each benchmark circuit Bi to obtain the values of the coefficients β0 to β m and thereby calculate the regression equation.

[0098] Then, the analysis unit 504 identifies attributes significant to the target variable based on the regression analysis result. The regression analysis result is, for example, the coefficients β0 to β mThis includes the value, standard deviation, p-value, etc. More specifically, for example, the analysis unit 504 analyzes the explanatory variable x whose p-value is less than the threshold. j The corresponding attribute Aj may be identified as a significant attribute with respect to the target variable. The threshold can be set arbitrarily, for example, to a value of around 0.05.

[0099] Furthermore, there may be multiple explanatory variables whose p-values ​​are below the threshold. In this case, the analysis unit 504 will, for example, analyze the explanatory variable x with the smallest p-value. j The attribute Aj corresponding to the dependent variable may be identified as a significant attribute for the dependent variable. Alternatively, the analysis unit 504 may identify a predetermined number of attributes corresponding to explanatory variables with small p-values ​​as significant attributes for the dependent variable. The predetermined number can be set arbitrarily.

[0100] Here, we will explain a specific example of regression analysis results using Figure 8.

[0101] Figure 8 is an explanatory diagram showing a specific example of regression analysis results. In Figure 8, the regression analysis result 800 shows the Estimate, Std.Error, t value, and Pr(>|t|) for variable_0 to variable_5. variable_0 corresponds to explanatory variable x1 (attribute A1). variable_1 corresponds to explanatory variable x2 (attribute A2).

[0102] variable_2 corresponds to explanatory variable x3 (attribute A3). variable_3 corresponds to explanatory variable x4 (attribute A4). variable_4 corresponds to explanatory variable x5 (attribute A5). variable_5 corresponds to explanatory variable x6 (attribute A6). Note that (Intercept) indicates the constant term (β0).

[0103] Here, Estimate is the coefficient β0~β m The value (estimated value) is shown. Std.Error is the coefficient β0~β mThis shows the standard deviation. t-value indicates the t-value. Pr(>|t|) indicates the p-value (indicated by the thick box 801 in Figure 8). Here, we assume a threshold of "0.05", and that the three explanatory variables corresponding to the smallest p-values, whose p-values ​​are less than the threshold, are identified as significant attributes for the dependent variable.

[0104] In this case, the analysis unit 504 identifies explanatory variable x2 (attribute A2) corresponding to variable_1, explanatory variable x4 (attribute A4) corresponding to variable_3, and explanatory variable x5 (attribute A5) corresponding to variable_4 as attributes significant with respect to the dependent variable. At this time, the analysis unit 504 may also identify the attributes in order of increasing significance based on the smallest p-value: explanatory variable x2 (attribute A2) ⇒ explanatory variable x5 (attribute A5) ⇒ explanatory variable x4 (attribute A4).

[0105] Returning to the explanation of Figure 5, the output unit 505 outputs information representing the identified significant attributes. This information is output, for example, as the performance diagnostic result of the simulator being diagnosed in response to a performance diagnostic request from a user. The output format of the output unit 505 may include storage in a storage device such as memory 302 or disk 304, transmission to another computer (e.g., client device 202) via communication I / F 305, display on a display not shown, or printing to a printer not shown.

[0106] Specifically, for example, the output unit 505 may output performance diagnostic results that include the attribute names of the identified significant attributes, in association with the simulator under diagnosis. For example, attribute Aj is significant, and the coefficient β corresponding to attribute Aj is... j If the value is positive, it can be said that the larger the attribute value of attribute Aj, the slower the simulator being diagnosed will be. For this reason, the output unit 505 outputs a coefficient β corresponding to the identified significant attribute Aj. j If the value is positive, the larger the attribute value of attribute Aj, the more performance diagnostic results indicating that the simulator being diagnosed is slow may be output.

[0107] Furthermore, attribute Aj is significant, and the coefficient β corresponding to attribute Aj is also significant.j If the value is negative, it can be said that the smaller the attribute value of attribute Aj, the slower the simulator being diagnosed. For this reason, the output unit 505 outputs a coefficient β corresponding to the identified significant attribute Aj. j If the value is negative, the smaller the attribute value of attribute Aj, the more performance diagnostic results indicating that the simulator being diagnosed is slow may be output.

[0108] Furthermore, the output unit 505 may output a performance diagnostic result that associates the attribute value of the significant attribute of each benchmark circuit Bi with the first execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the second execution time when each benchmark circuit Bi is executed on the reference simulator.

[0109] The benchmark circuit Bi, which is the target of the output of information (attribute values ​​of significant attributes, first execution time, second execution time), may be all of the benchmark circuits B1 to Bn, or it may be some of the benchmark circuits B1 to Bn. Some of the benchmark circuits may be, for example, the benchmark circuit where the attribute value of a significant attribute is maximum, the benchmark circuit where it is in the middle (median), and the benchmark circuit where it is minimum.

[0110] Here, the "performance diagnostic data" is information that associates the attribute value of the significant attribute of each benchmark circuit Bi with the first execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the second execution time when each benchmark circuit Bi is executed on the reference simulator. The performance diagnostic results include, for example, performance diagnostic data for each benchmark circuit Bi. In this case, the output unit 505 may output the performance diagnostic data for each benchmark circuit Bi in ascending or descending order of the attribute values ​​of the significant attributes.

[0111] Furthermore, the output unit 505 may output a graph showing the first and second execution times when each benchmark circuit Bi is executed. The graph may be, for example, a bar graph in which the height of the bars changes according to each execution time (first execution time, second execution time). Alternatively, the graph may be a line graph representing each execution time which changes according to the attribute value of a significant attribute of each benchmark circuit Bi.

[0112] To explain in more detail, for example, the output unit 505 may output performance diagnostic data in which the attribute values ​​of the significant attributes of each benchmark circuit Bi are associated with a first graph representing the first execution time and a second graph representing the second execution time when each benchmark circuit Bi is executed, such that the attribute values ​​of the significant attributes are in ascending (or descending) order for the identified significant attributes.

[0113] An example of the performance diagnostic output will be shown later using Figure 9.

[0114] Furthermore, if no significant attributes are identified, the analysis unit 504 may accept the selection of two or more attributes from the attributes of each benchmark circuit Bi that are different from attributes A1 to Am. Attributes A1 to Am are two or more attributes used in the statistical analysis. Two or more attributes different from attributes A1 to Am are those with a different combination of attributes.

[0115] The selection of two or more attributes different from attributes A1 to Am may be performed, for example, by user input on a variable selection screen 1100 as shown in Figure 11 below. Alternatively, the analysis unit 504 may select two or more attributes different from attributes A1 to Am from the attributes of each benchmark circuit Bi so that the combination of attributes is different from attributes A1 to Am.

[0116] In the following explanation, two or more attributes different from attributes A1 to Am may be referred to as "attributes A[1] to A[m]".

[0117] Furthermore, the analysis unit 504 may refer to the memory unit 510 to obtain attribute information including the attribute values ​​of each attribute A[1] to A[m] of each benchmark circuit Bi.Then, the analysis unit 504 may use the attributes A[1] to A[m] of each benchmark circuit Bi represented by the obtained attribute information as explanatory variables and the performance P represented by the performance information as the dependent variable, and statistically analyze the relationship between the explanatory variables and the dependent variable to identify attributes that are significant to the dependent variable from attributes A[1] to A[m].

[0118] Thus, if no significant attribute is identified, the analysis unit 504 may change the attribute used as an explanatory variable in the statistical analysis and repeatedly perform the performance diagnosis of the simulator under diagnosis.

[0119] Furthermore, the measurement unit 503 may calculate multiple types of performance P of the simulator under diagnosis relative to the reference simulator based on the first and second execution times obtained when each benchmark circuit Bi is executed on the simulator under diagnosis and the reference simulator, respectively. These multiple types of performance P include, for example, performance P expressed by the difference between the first execution time and the second execution time, and performance P expressed by the ratio of the difference between the first execution time and the second execution time to the second execution time (or the first execution time).

[0120] In the following explanation, among the multiple types of performance P of the simulator being diagnosed relative to the reference simulator, the performance P used in the statistical analysis is referred to as "performance P a It is written as " and performance P a A different performance P is called "Performance P b It is sometimes written as "".

[0121] Furthermore, if no significant attribute is identified, the analysis unit 504 will use the performance P used in the statistical analysis from among the multiple types of performance P of the diagnostic simulator relative to the reference simulator. a Different performance P b The following selection may be accepted. Performance P bThe selection may be made, for example, by user input on the variable selection screen 1100 as shown in Figure 11 below. Furthermore, the analysis unit 504 determines the performance P a Unlike the above, from among multiple types of performance P, performance P b You may choose this option.

[0122] Furthermore, the analysis unit 504 selects the performance P based on the measured first execution time and second execution time. b The system obtains performance information representing the selected performance P. Specifically, for example, the analysis unit 504 refers to the storage unit 510 and obtains the selected performance P. b Obtain performance information that represents this.

[0123] Then, the analysis unit 504 uses the attributes A1~Am (or attributes A[1]~A[m]) of each benchmark circuit Bi represented by the attribute information as explanatory variables, and the performance P represented by the acquired performance information b By statistically analyzing the relationship between the explanatory variables and the dependent variable, significant attributes for the dependent variable can be identified from attributes A1 to Am (or attributes A[1] to A[m]).

[0124] Thus, if no significant attribute is identified, the analysis unit 504 may change the performance P used as the dependent variable in the statistical analysis and repeatedly perform the performance diagnosis of the simulator under diagnosis.

[0125] The functional units (acquisition units 501 to output units 505) of the performance diagnostic device 201 may be implemented by multiple computers within the information processing system 200 (for example, the performance diagnostic device 201, client device 202, execution device (not shown), etc.). In this case, communication between functional units of different computers is performed, for example, by sending and receiving data between functional units via the network 210.

[0126] (Example of performance diagnostic result output) Next, we will explain an example of the output of performance diagnostic results using Figure 9. Here, we will explain using the performance diagnostic results of the simulator to be diagnosed, displayed on the client device 202, as an example, in response to a performance diagnostic request from the user of the client device 202.

[0127] Figure 9 is an explanatory diagram showing a first example of the output of the performance diagnostic results. In Figure 9, the diagnostic results screen 900 includes the performance diagnostic results 901 of the simulator being diagnosed. The performance diagnostic results 901 includes the diagnostic result message 910 and the performance diagnostic data 911 to 913.

[0128] The diagnostic result message 910 indicates that the significant attribute for performance P is "CNOT count," and that the simulator being diagnosed is slowing down as the CNOT count increases.

[0129] Performance diagnostic data 911 is represented by associating the attribute value "10" of the attribute "CNOT count" with graphs 921 and 922. Graph 921 shows the execution time (second execution time) when benchmark circuit B1 is run on the reference simulator. Graph 922 shows the execution time (first execution time) when benchmark circuit B1 is run on the simulator under diagnosis.

[0130] Performance diagnostic data 912 is represented by associating the attribute value "50" of the attribute "CNOT count" with graphs 923 and 924. Graph 923 shows the execution time when benchmark circuit B2 is run on the reference simulator. Graph 924 shows the execution time when benchmark circuit B2 is run on the simulator being diagnosed.

[0131] Performance diagnostic data 913 is represented by associating the attribute value "100" for the attribute "CNOT count" with graphs 925 and 926. Graph 925 shows the execution time when benchmark circuit B3 is run on the reference simulator. Graph 926 shows the execution time when benchmark circuit B3 is run on the simulator being diagnosed. Here, performance diagnostic data 911 to 913 are displayed in ascending order of the attribute value of the attribute "CNOT count".

[0132] According to performance diagnostic result 901, the user can see that the simulator under diagnosis slows down as the number of CNOTs in the quantum circuits (benchmark circuits B1-B3) increases. In this case, the user can intuitively determine how the "number of CNOTs" attribute affects the performance (calculation speed) of the simulator under diagnosis, as the execution time for each step is graphed and the performance diagnostic data 911-913 are displayed in ascending order of the attribute value "number of CNOTs".

[0133] This allows users to determine that the CNOT number, among the various attributes of the quantum circuit, is causing processing delays. For example, users can resolve performance issues by reviewing the part of the simulator under diagnosis that handles CNOT gates.

[0134] On the diagnostic results screen 900, the user can select button 902 through user input to end the performance diagnosis of the target simulator and proceed to correcting the target simulator (for example, code correction). Furthermore, on the diagnostic results screen 900, the user can select button 903 through user input to change the variables (explanatory variables, dependent variables) used in the statistical analysis. Changing the variables (explanatory variables, dependent variables) can be done, for example, on the variable selection screen 1100 shown in Figure 11 below.

[0135] Next, using Figure 10, we will explain an example of the output of the performance diagnostic results when no significant attribute is identified for the performance P of the simulator being diagnosed.

[0136] Figure 10 is an explanatory diagram showing a second example of the performance diagnostic results output. In Figure 10, the diagnostic results screen 1000 includes the performance diagnostic results 1001 and execution time information 1002 of the simulator under diagnosis. The performance diagnostic results 1001 indicate that no cause for degrading the performance P of the simulator under diagnosis was found during the performance diagnosis.

[0137] The execution time information 1002 represents the reference execution time (second execution time) when each benchmark circuit B1 to B3 is executed on the reference simulator, and the diagnostic target execution time (first execution time) when each benchmark circuit B1 to B3 is executed on the simulator being diagnosed.

[0138] According to the performance diagnostic result 1001, the user can see that no cause was found to degrade the performance P of the simulator under diagnosis. In addition, according to the execution time information 1002, the user can check the execution time when each benchmark circuit B1 to B3 is executed on both the simulator under diagnosis and the reference simulator.

[0139] This allows the user, for example, to refer to the execution time information 1002 and, if they determine that the performance P of the simulator being diagnosed meets the required performance, to terminate the performance diagnosis of the simulator being diagnosed. On the other hand, if the user determines that the performance P of the simulator being diagnosed does not meet the required performance, they can review the variables (dependent variable, independent variable) and decide to perform the performance diagnosis of the simulator being diagnosed again.

[0140] On the diagnostic results screen 1000, if the user selects button 1003 through user input, the system transitions to the variable selection screen 1100 shown in Figure 11, where the variables (explanatory variables, dependent variables) used in the statistical analysis can be changed. Furthermore, on the diagnostic results screen 1000, if the user selects button 1004 through user input, the performance diagnosis of the target simulator can be terminated.

[0141] (Example of a variable selection screen) Next, an example of the variable selection screen will be explained using Figure 11. The variable selection screen is displayed, for example, on client device 202.

[0142] Figure 11 is an explanatory diagram showing an example of a variable selection screen. In Figure 11, the variable selection screen 1100 is an example of an operation screen for selecting explanatory variables and dependent variables to be used in statistical analysis. On the variable selection screen 1100, two or more explanatory variables to be used in statistical analysis can be selected by selecting buttons (for example, buttons b1 to b8) in the variable selection field 1110 through user input. In this example, buttons b1, b5, and b6 are selected.

[0143] Furthermore, on the variable selection screen 1100, the user can select the target variable to be used for statistical analysis by selecting a button (for example, buttons b9 and b10) within the variable selection field 1120 through user input. In this example, button b9 is selected.

[0144] On the variable selection screen 1100, if the user selects button 1101, the performance diagnostic device 201 performs a performance diagnosis of the simulator under diagnosis using the selected explanatory and objective variables. Furthermore, if the user selects button 1102 on the variable selection screen 1100, the selection of the explanatory and objective variables is deselected.

[0145] (Performance diagnostic processing procedure for performance diagnostic device 201) Next, the performance diagnostic processing procedure of the performance diagnostic device 201 will be explained using Figures 12 and 13.

[0146] Figures 12 and 13 are flowcharts illustrating an example of the performance diagnostic processing procedure of the performance diagnostic device 201. In the flowchart of Figure 12, first, the performance diagnostic device 201 selects an unselected benchmark circuit Bi from among the benchmark circuits B1 to Bn (step S1201).

[0147] Next, the performance diagnostic device 201 calculates attribute values ​​for each attribute of the selected benchmark circuit Bi based on the circuit information of the benchmark circuit Bi (step S1202). The calculated attribute values ​​for each attribute are stored in the attribute information table 600, for example, in association with the circuit name of the benchmark circuit Bi.

[0148] Then, the performance diagnostic device 201 runs the selected benchmark circuit Bi in the reference simulator to measure the execution time (second execution time) when the benchmark circuit Bi is run in the reference simulator (step S1203).

[0149] Next, the performance diagnostic device 201 runs the selected benchmark circuit Bi on the target simulator to measure the execution time (first execution time) when the benchmark circuit Bi is run on the target simulator (step S1204).

[0150] The calculated execution times (first execution time and second execution time) are stored in the attribute information table 600, for example, in association with the circuit name of the benchmark circuit Bi. Note that steps S1203 and S1204 may be executed in reverse order, or in parallel.

[0151] The performance diagnostic device 201 then determines whether there are any unselected benchmark circuits among the benchmark circuits B1 to Bn (step S1205). If there are unselected benchmark circuits (step S1205: Yes), the performance diagnostic device 201 returns to step S1201.

[0152] On the other hand, if there are no unselected benchmark circuits (step S1205: No), the performance diagnostic device 201 refers to the attribute information table 600 and obtains attribute information including attribute values ​​for each attribute A1 to Am of each benchmark circuit Bi (step S1206).

[0153] Next, the performance diagnostic device 201 refers to the attribute information table 600 and obtains performance information representing the performance P of the simulator under diagnosis relative to the reference simulator (step S1207). Performance P is the performance based on the execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the reference simulator, respectively.

[0154] Then, the performance diagnostic device 201 uses the attributes A1 to Am of each benchmark circuit Bi represented by the acquired attribute information as explanatory variables and the performance P represented by the acquired performance information as the dependent variable, performs regression analysis on the relationship between the explanatory variables and the dependent variable (step S1208), and proceeds to step S1301 shown in Figure 13.

[0155] In the flowchart of Figure 13, first, the performance diagnostic device 201 identifies significant attributes for the dependent variable from attributes A1 to Am based on the regression analysis results (step S1301). Next, the performance diagnostic device 201 determines whether or not significant attributes for the dependent variable have been identified (step S1302).

[0156] If a significant attribute is identified here (step S1302: Yes), the performance diagnostic device 201 outputs a performance diagnostic result containing information representing the identified significant attribute (step S1303) and proceeds to step S1305. In step S1303, for example, a diagnostic result screen 900 as shown in Figure 9 is output.

[0157] On the other hand, if no significant attributes are identified (step S1302: No), the performance diagnostic device 201 outputs a performance diagnostic result indicating that no significant attributes were identified (step S1304). In step S1304, for example, a diagnostic result screen 1000 as shown in Figure 10 is output.

[0158] The performance diagnostic device 201 then determines whether or not to terminate the performance diagnostic of the simulator under diagnosis (step S1305). For example, the performance diagnostic device 201 determines to terminate the performance diagnostic of the simulator under diagnosis when it receives a user operation (selection of buttons 902 and 1003) indicating the termination of the performance diagnostic on the diagnostic result screens 900 and 1000.

[0159] If the performance diagnosis of the simulator to be diagnosed is not terminated here (step S1305: No), the performance diagnostic device 201 outputs a variable selection screen for selecting variables (explanatory variables and dependent variables) to be used for statistical analysis (step S1306). The variable selection screen is, for example, the variable selection screen 1100 shown in Figure 11.

[0160] Next, the performance diagnostic device 201 determines whether or not a variable (explanatory variable and dependent variable) has been selected (step S1307). Here, the performance diagnostic device 201 waits for the variable (explanatory variable and dependent variable) to be selected (step S1307: No).

[0161] Then, if the variables (explanatory variables and dependent variables) are selected (step S1307: Yes), the performance diagnostic device 201 changes the variables (explanatory variables and dependent variables) used for statistical analysis to the selected variables (explanatory variables and dependent variables) (step S1308), and returns to step S1201 shown in Figure 12.

[0162] Furthermore, if the performance diagnosis of the simulator to be diagnosed is terminated in step S1305 (step S1305: Yes), the performance diagnosis device 201 terminates the series of processes according to this flowchart.

[0163] This allows the performance diagnostic device 201 to perform a performance diagnosis on the simulator being diagnosed.

[0164] If the system returns to step S1201 from step S1308, in step S1202, the performance diagnostic device 201 calculates attribute values ​​for each attribute of the benchmark circuit Bi corresponding to the changed explanatory variables. However, in the initial step S1202, attribute values ​​for all expected attributes of the benchmark circuit Bi may be calculated. In this case, when returning to step S1201 from step S1308, the performance diagnostic device 201 may skip the processing in step S1202.

[0165] Furthermore, if the system returns to step S1201 from step S1308, in step S1206, the performance diagnostic device 201 acquires attribute information, including attribute values ​​for each of the attributes A1 to Am of each benchmark circuit Bi, corresponding to the changed explanatory variables.

[0166] Furthermore, if the benchmark circuit or reference simulator has not been changed when returning from step S1308 to step S1201, the performance diagnostic device 201 may skip the processing in steps S1203 and S1204. Also, in step S1207, the performance diagnostic device 201 obtains performance information representing the performance P of the simulator to be diagnosed relative to the reference simulator, corresponding to the changed objective variable.

[0167] As described above, the performance diagnostic device 201 according to the embodiment can acquire attribute information representing each of the attributes A1 to Am of each benchmark circuit Bi of benchmark circuits B1 to Bn. Furthermore, the performance diagnostic device 201 can acquire performance information representing the performance P of the simulator to be diagnosed relative to the reference simulator, based on the execution time when each benchmark circuit Bi is executed on the simulator to be diagnosed and the reference simulator, respectively.Then, the performance diagnostic device 201 can use each of the attributes A1 to Am represented by the acquired attribute information as an explanatory variable and the performance P represented by the acquired performance information as an objective variable, and by statistically analyzing the relationship between the explanatory variables and the objective variable, it can identify attributes that are significant to the objective variable from attributes A1 to Am and output information representing the identified significant attributes.

[0168] This makes it easier for the performance diagnostic device 201 to identify problematic areas in the performance of the simulator being diagnosed. For example, by outputting information representing attributes that significantly affect the performance (calculation speed) of the simulator being diagnosed (significant attributes) as a performance diagnostic result, it becomes easier to determine areas where the specifications of the simulator being diagnosed should be improved. For example, if a user knows that the simulator being diagnosed is "slow," they can pinpoint the attributes that significantly affect performance from among various attributes, making it easier to pinpoint the cause of performance degradation, which was difficult to narrow down with conventional technology.

[0169] Attributes A1 to Am include attributes that represent, for example, the total number of gates in each benchmark circuit Bi, the number of measured gates, the ratio of measured gates to the total number of gates, the number of gates of a specific type, the ratio of gates of a specific type to the total number of gates, the number of qubits, the number of single-qubit gates, the number of multi-qubit gates, the depth, and the number of parameterized rotation gates. Specific types of gates include, for example, H gates, T gates, and CNOT gates.

[0170] For example, if "the number of CNOTs" is identified as a significant attribute, the user can determine that the number of CNOTs is causing the processing delay and resolve the performance issue by reviewing the part of the simulator under diagnosis that handles CNOT gates. Similarly, if "the total number of gates" is identified as a significant attribute, the user can determine that the number of CNOTs is causing the processing delay and resolve the performance issue by reviewing the part of the simulator under diagnosis that reads quantum circuits (e.g., benchmark circuit Bi).

[0171] Furthermore, attributes A1 to Am may include, for example, attributes that represent statistical information indicating the execution status obtained when each benchmark circuit Bi is executed. The statistical information may include, for example, statistical values ​​(average, maximum, etc.) of memory usage and the number of threads used when benchmark circuit Bi is executed.

[0172] For example, if "memory usage (statistical information)" is identified as a significant attribute, the user can determine that memory usage is causing processing delays and, by checking the memory usage when executing quantum circuits in the simulator under diagnosis, can work towards resolving performance issues.

[0173] Furthermore, the performance diagnostic device 201 can output, in association with the attribute value of the significant attribute identified for each benchmark circuit Bi, the first execution time when each benchmark circuit Bi is executed in the simulator under diagnosis, and the second execution time when each benchmark circuit Bi is executed in the reference simulator.

[0174] This allows the performance diagnostic device 201 to determine how the execution time of each benchmark circuit Bi changes when executed on both the simulator under diagnosis and the reference simulator, depending on the attribute values ​​of the identified significant attributes. For example, the user can determine whether the simulator under diagnosis becomes slower as the attribute value increases or decreases, making it easier to analyze the cause of processing delays.

[0175] Furthermore, the performance diagnostic device 201 can calculate attribute values ​​for each attribute of each benchmark circuit Bi based on the circuit information of each benchmark circuit Bi, and store the calculated attribute values ​​for each attribute in the storage unit 510 in association with each benchmark circuit Bi. Then, the performance diagnostic device 201 can refer to the storage unit 510 to obtain attribute information including the attribute values ​​of each attribute A1 to Am of each benchmark circuit Bi.

[0176] This allows the performance diagnostic device 201 to determine the attribute values ​​for each attribute of each benchmark circuit Bi, which are used as explanatory variables in statistical analysis.

[0177] Furthermore, according to the performance diagnostic device 201, by executing each benchmark circuit Bi in the simulator under diagnosis, a first execution time can be measured when each benchmark circuit Bi is executed in the simulator under diagnosis. Furthermore, according to the performance diagnostic device 201, by executing each benchmark circuit Bi in the reference simulator, a second execution time can be measured when each benchmark circuit Bi is executed in the reference simulator. Finally, according to the performance diagnostic device 201, performance information when each benchmark circuit Bi is executed can be obtained based on the measured first and second execution times.

[0178] This allows the performance diagnostic device 201 to determine the performance P of the simulator under diagnosis relative to a reference simulator, which is used as the objective variable in statistical analysis. For example, the performance diagnostic device 201 can represent performance P as the difference between the first execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the second execution time when each benchmark circuit Bi is executed on the reference simulator. Alternatively, the performance diagnostic device 201 can represent performance P as the ratio of the difference between the first execution time when each benchmark circuit Bi is executed on the simulator under diagnosis and the second execution time when each benchmark circuit Bi is executed on the reference simulator, relative to the second execution time.

[0179] Furthermore, according to the performance diagnostic device 201, if no significant attributes are identified, it accepts the selection of attributes A[1] to A[m] from among the attributes of each benchmark circuit Bi that are different from attributes A1 to Am, and can obtain attribute information including the attribute values ​​of each selected attribute A[1] to A[m] by referring to the storage unit 510 which stores the attribute values ​​for each attribute of each benchmark circuit Bi. Then, according to the performance diagnostic device 201, by using each of the attributes A[1] to A[m] represented by the acquired attribute information as an explanatory variable and the performance P represented by the performance information as the dependent variable, it is possible to identify attributes that are significant to the dependent variable from attributes A[1] to A[m] by statistically analyzing the relationship between the explanatory variables and the dependent variable.

[0180] As a result, if the performance diagnostic device 201 finds no significant attributes in the statistical analysis, it can change the attributes used as explanatory variables (for example, by adding or removing unnecessary attributes) and re-run the performance diagnostic of the simulator under diagnosis.

[0181] Furthermore, according to the performance diagnostic device 201, if no significant attribute is identified, the performance P used in the statistical analysis is selected from among multiple types of performance P of the simulator under diagnosis relative to the reference simulator. a Different performance P b The selection is accepted, and based on the measured first and second execution times, the selected performance P b Performance information representing this can be obtained. Then, according to the performance diagnostic device 201, each of the attributes A1 to Am represented by the attribute information is used as an explanatory variable, and the performance P represented by the acquired performance information is obtained. b By statistically analyzing the relationship between the explanatory variables and the dependent variable, significant attributes for the dependent variable can be identified from attributes A1 to Am.

[0182] As a result, if the performance diagnostic device 201 finds no significant attributes in the statistical analysis, it can change the performance P used as the target variable and re-run the performance diagnostic of the simulator being diagnosed.

[0183] Based on these findings, the performance diagnostic device 201 can identify problematic areas in the performance of the simulator being diagnosed. The user can efficiently improve the performance of the simulator by making improvements to the identified areas (areas related to significant attributes) in the simulator's specifications.

[0184] Here, we will describe an example of performance improvement when performing a performance diagnosis using QASM-Bench, with the target simulator being the "Decision Graph Quantum Simulator QDD" and the reference simulator being the "State Vector Quantum Simulator Qiskit Aer".

[0185] Here, we assume that the performance diagnostics of the QDD performed by the performance diagnostic device 201 revealed significant values ​​for attributes representing the number of measured gates and the ratio of measured gates (higher attribute values ​​indicate a slower QDD). In this case, the user (e.g., the QDD developer) would examine the code related to the measured gates of the QDD and analyze the performance issues.

[0186] For example, suppose a project involving multiple people developing a QDD (Quadratic Data Layout) is found to increase execution time due to past changes made to the QDD by new members. Specifically, for example, for N qubits, 2 N Let's say the execution time was increased because the code was executing a loop multiple times. In this case, the user can efficiently improve performance by modifying the QDD code to eliminate unnecessary loop processing.

[0187] The performance diagnostic method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a personal computer or workstation. This performance diagnostic program is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, DVD, or USB memory, and is executed when read from the recording medium by the computer. This performance diagnostic program may also be distributed via a network such as the Internet.

[0188] Furthermore, the information processing device 101 (performance diagnostic device 201) described in this embodiment can also be realized using application-specific ICs such as standard cells and structured ASICs (Application Specific Integrated Circuits), or PLDs (Programmable Logic Devices) such as FPGAs.

[0189] With regard to the embodiments described above, the following additional information is disclosed.

[0190] (Note 1) Obtain attribute information representing each of two or more attributes of each quantum circuit in a plurality of quantum circuits, Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. A performance diagnostic program characterized by having a computer perform the processing.

[0191] (Note 2) The attribute information includes the attribute values ​​of each of the two or more attributes of each quantum circuit. The output process described above is: For the identified significant attribute, the attribute value of that significant attribute for each quantum circuit is output in association with the first execution time when each quantum circuit is executed in the diagnostic target simulator and the second execution time when each quantum circuit is executed in the other simulator. The performance diagnostic program described in Appendix 1, characterized by the features described herein.

[0192] (Note 3) Based on the circuit information of each quantum circuit, the attribute values ​​for each attribute of the quantum circuit are calculated, The attribute values ​​for each attribute calculated in association with each of the aforementioned quantum circuits are stored in the memory unit. The computer is made to perform the process, The process for obtaining the aforementioned attribute information is as follows: By referring to the memory unit, attribute information including the attribute values ​​of each of the two or more attributes of each quantum circuit is obtained. A performance diagnostic program as described in Appendix 1 or 2, characterized by the features described herein.

[0193] (Note 4) By executing each of the quantum circuits in the simulator to be diagnosed, the first execution time when each of the quantum circuits is executed in the simulator to be diagnosed is measured. By executing each of the quantum circuits in the aforementioned other simulator, the second execution time when each of the quantum circuits is executed in the aforementioned other simulator is measured. The computer is made to perform the process, The process for obtaining the aforementioned performance information is as follows: Based on the measured first execution time and second execution time, the performance information when each quantum circuit is executed is obtained. A performance diagnostic program characterized by any one of the appendices 1 to 3.

[0194] (Note 5) If no significant attribute is identified, the selection of two or more attributes from among the attributes of each quantum circuit that are different from the two or more attributes mentioned above will be accepted. By referring to a storage unit that stores attribute values ​​for each attribute of the quantum circuit, attribute information including the attribute values ​​of each of the two or more selected attributes is obtained. By statistically analyzing the relationship between the two or more different attributes represented by the acquired attribute information as explanatory variables and the performance represented by the performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more different attributes. A performance diagnostic program according to any one of the appendices 1 to 4, characterized in that it causes the computer to perform the processing.

[0195] (Note 6) If no significant attribute is identified, the selection of a different performance from the aforementioned performance among the multiple performance types of the simulator to be diagnosed relative to the other simulators will be accepted. Based on the measured first execution time and second execution time, performance information representing the different performance is obtained. By statistically analyzing the relationship between the two or more attributes represented by the attribute information, using each of the two or more attributes as an explanatory variable and the different performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. The performance diagnostic program described in Appendix 4, characterized in that it causes the computer to perform the processing.

[0196] (Note 7) The performance diagnostic program according to any one of Notes 1 to 6, characterized in that the two or more attributes include an attribute representing one of the following: the total number of gates in each quantum circuit, the number of measurement gates, the ratio of the number of measurement gates to the total number of gates, the number of gates of a specific type, the ratio of the number of gates of a specific type to the total number of gates, the number of qubits, the number of single-qubit gates, the number of multiple-qubit gates, the depth, and the number of parameterized rotation gates.

[0197] (Note 8) The performance diagnostic program according to any one of Notes 1 to 7, characterized in that the two or more attributes include an attribute representing statistical information of values ​​indicating the execution status obtained when each quantum circuit is executed.

[0198] (Note 9) The performance diagnostic program according to any one of Notes 1 to 8, characterized in that the performance is expressed by the difference between a first execution time when each quantum circuit is executed in the simulator to be diagnosed and a second execution time when each quantum circuit is executed in the other simulator.

[0199] (Note 10) The performance diagnostic program according to any one of Notes 1 to 9, characterized in that the performance is expressed as the ratio of the difference between the first execution time when each quantum circuit is executed in the simulator to be diagnosed and the second execution time when each quantum circuit is executed in the other simulator, to the second execution time.

[0200] (Note 11) The performance diagnostic program according to any one of Notes 1 to 10, characterized in that the plurality of quantum circuits are a plurality of benchmark circuits for evaluating the performance of a quantum simulator.

[0201] (Note 12) Obtain attribute information representing each of two or more attributes of each quantum circuit in a plurality of quantum circuits, Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. A performance diagnostic method characterized by having a computer perform the processing.

[0202] (Note 13) Obtain attribute information representing each of two or more attributes of each quantum circuit in a plurality of quantum circuits, Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. An information processing apparatus characterized by having a control unit that performs processing. [Explanation of Symbols]

[0203] 101 Information Processing Device 102 Diagnostic Simulator 103 Other simulators 111,112,113 quantum circuit 121,122,123 Attribute information 131,132,133 Performance information 140 Information 200 Information Processing Systems 201 Performance diagnostic device 202 Client Devices 210 Network 220 Benchmark Circuit DB 300 bus 301 CPU 302 memory 303 Disk Drive 304 disks 305 Communication I / F 306 Portable recording medium interface 307 Portable recording media 500 Control Unit 501 Acquisition Department 502 Calculation Department 503 Measurement Unit 504 Analysis Department 505 Output section 510 Storage section 600 Attribute Information Table 700 Performance Information Table 800 Regression Analysis Results 801 Thick-lined frame 900,1000 Diagnosis results screen 901,1001 Performance diagnostic results Buttons 902, 903, 1003, 1101, 1102 910 Diagnostic Result Message 911, 912, 913 Performance diagnostic data 921,922,923,924,925,926 Graph 1002 Execution time information 1100 Variable Selection Screen A1~Am,Aj,A[1]~[m] Attributes B1~Bn,Bi Benchmark Circuit

Claims

1. Obtain attribute information representing two or more attributes of each quantum circuit in a set of multiple quantum circuits. Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. A performance diagnostic program characterized by having a computer perform the processing.

2. The attribute information includes the attribute values ​​of each of the two or more attributes of each quantum circuit. The output process described above is: For the identified significant attribute, the attribute value of that significant attribute for each quantum circuit is output in association with the first execution time when each quantum circuit is executed in the diagnostic target simulator and the second execution time when each quantum circuit is executed in the other simulator. The performance diagnostic program according to feature 1.

3. Based on the circuit information of each quantum circuit, attribute values ​​for each attribute of the quantum circuit are calculated, The attribute values ​​for each attribute calculated in association with each of the aforementioned quantum circuits are stored in the memory unit. The computer is made to perform the process, The process for obtaining the aforementioned attribute information is as follows: By referring to the memory unit, attribute information including the attribute values ​​of each of the two or more attributes of each quantum circuit is obtained. The performance diagnostic program according to feature 1.

4. By executing each of the quantum circuits in the simulator to be diagnosed, the first execution time when each of the quantum circuits is executed in the simulator to be diagnosed is measured. By executing each of the quantum circuits in the aforementioned other simulator, the second execution time when each of the quantum circuits is executed in the aforementioned other simulator is measured. The computer is made to perform the process, The process for obtaining the aforementioned performance information is as follows: Based on the measured first execution time and second execution time, the performance information when each quantum circuit is executed is obtained. The performance diagnostic program according to feature 1.

5. If no significant attribute is identified, the system accepts the selection of two or more attributes from among the attributes of each quantum circuit that are different from the two or more attributes mentioned above. By referring to a storage unit that stores attribute values ​​for each attribute of the quantum circuit, attribute information including the attribute values ​​of each of the two or more selected attributes is obtained. By statistically analyzing the relationship between the two or more different attributes represented by the acquired attribute information as explanatory variables and the performance represented by the performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more different attributes. The performance diagnostic program according to claim 1, characterized in that it causes the computer to perform the processing.

6. If the aforementioned significant attribute is not identified, the selection of a different performance from the aforementioned performance among the multiple types of performance of the simulator to be diagnosed relative to the other simulators will be accepted. Based on the measured first execution time and second execution time, performance information representing the different performance is obtained. By statistically analyzing the relationship between the explanatory variables and the dependent variable, using each of the two or more attributes represented by the attribute information as an explanatory variable and the different performances represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified. The performance diagnostic program according to claim 4, characterized in that it causes the computer to perform the processing.

7. Obtain attribute information representing two or more attributes of each quantum circuit in a set of multiple quantum circuits. Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. A performance diagnostic method characterized by having a computer perform the processing.

8. Obtain attribute information representing two or more attributes of each quantum circuit in a set of multiple quantum circuits. Performance information representing the performance of the simulator under diagnosis relative to the other simulators is obtained based on the execution time when each quantum circuit is executed in the simulator under diagnosis and the other simulators, respectively. By statistically analyzing the relationship between the two or more attributes represented by the acquired attribute information as explanatory variables and the performance represented by the acquired performance information as the dependent variable, a significant attribute for the dependent variable is identified from the two or more attributes. Output information representing the identified significant attribute. An information processing apparatus characterized by having a control unit that performs processing.