WO2021141827A1 - A distributed tensor network contraction scheme with splitting based on dynamic ordering - Google Patents

A distributed tensor network contraction scheme with splitting based on dynamic ordering Download PDF

Info

Publication number
WO2021141827A1
WO2021141827A1 PCT/US2020/067669 US2020067669W WO2021141827A1 WO 2021141827 A1 WO2021141827 A1 WO 2021141827A1 US 2020067669 W US2020067669 W US 2020067669W WO 2021141827 A1 WO2021141827 A1 WO 2021141827A1
Authority
WO
WIPO (PCT)
Prior art keywords
edges
tensor
sub
contraction
networks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2020/067669
Other languages
English (en)
French (fr)
Inventor
Jiachen HUANG
Fang Zhang
Jianxin Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to EP20912773.7A priority Critical patent/EP4088085A4/en
Priority to JP2022538712A priority patent/JP7756642B2/ja
Priority to CN202080091727.9A priority patent/CN115066589B/zh
Publication of WO2021141827A1 publication Critical patent/WO2021141827A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing

Definitions

  • Tensors are a mathematical concept that can encapsulate and generalize the ideas of multi-linear maps.
  • a tensor network can be a countable collection of tensors connected by contractions.
  • Tensor networks have a wide range of applications in modern science and engineering, including machine learning, many-body theories, gradient computations, quantum computing, etc.
  • the efficiency for making computations with tensor networks become a bottleneck for many applications.
  • the efficiency issue with the tensor networks is further exacerbated by the complex nature of the tensor networks, which often require significant computation power and time to perform.
  • To continue to expand the use of tensor networks there is a strong need for reducing the time and computation resources needed for tensor networks computations.
  • Embodiments of the disclosure provide a method for performing contraction on a tensor network.
  • the method can include: receiving, by a system, a tensor network comprising a plurality ' of tensors and a plurality ' of edges among the plurality of tensors, wherein each edge is associated with a plurality of index elements: determining a contraction order of the tensor network; determining, among the plurality of edges, one or more edges for generating a plurality' of sub-networks based on the tensor network; and distributing the plurality of sub-networks to a plurality of computing nodes of the system to perform, by the plurality of computing nodes, contraction on the plurality of sub-networks based on the contraction order.
  • Embodiments of the present disclosure further provide a non-transitory computer readable medium that stores a set of instructions that is executable by at least one processor of a system to cause the system to perform contraction on a tensor network, the me thod comprising: receiving, a tensor netw ork comprising a plurality of tensors and a plurality of edges among the plurality of tensors, wherein each edge is associated with a plurality of index elements; determining a contraction order of the tensor network; determining, among the plurality of edges, one or more edges for generating a plurality of sub-networks based on the tensor network; and distributing the plurality of sub-networks to a plurality of computing nodes of the system to perform, by the plurality of computing nodes, contraction on the plurality of sub-networks based on the contraction order.
  • Embodiments of the present disclosure further provide a system, comprising: a plurality of computing nodes; one or more memories storing a set of instructions; and one or more processors configured to execute the set of instructions to cause the system to perform: receiving a tensor network comprising a plurality of tensors and a plurality of edges among the plurality of tensors, wiierein each edge is associated with a plurality of index elements; determining a contraction order of the tensor network; determining, among the plurality of edges, one or more edges for generating a plurality of sub-networks based on the tensor network; and distributing the plurality of sub-networks to the plurality of computing nodes of the system to perform, by the plurality of computing nodes, contraction on the plurality of sub-networks based on the contraction order.
  • a system comprising: a plurality of computing nodes; one or more memories storing a set of instructions; and one or more processors configured to execute the set of
  • FIG. 1 illustrates a schematic of example tensors, according to some embodiments of the present disclosure.
  • FIG. 2 illustrates a schematic of example tensor contractions, according to some embodiments of the present disclosure.
  • FIG. 3 illustrates a schematic of an exemplary cloud service system, according to some embodiments of the present disclosure.
  • FIG. 4 illustrates a flowchart of an exemplary' method for performing contraction of a tensor network, according to some embodiments of the present disclosure.
  • FIG. 5 illustrates an exemplary tensor network, according some embodiments of the present disclosure.
  • FIG. 6 illustrates an exemplary intermediate tensor network, according to some embodiments of the present disclosure.
  • FIG, 7 illustrates a schematic of an exemplary tree diagram, according to some embodiments of the disclosure.
  • FIG. 8 illustrates an exemplary schematic of generating sub-networks, according to some embodiments of the disclosure.
  • FIG. 9 illustrates a schematic of an exemplary contraction of a tensor network, according to some embodiments of the disclosure.
  • FIG. 10 illustrates a schematic of an exemplary representation of a quantum circuit using a tensor network, according to some embodiments of the disclosure
  • a tensor network can include a plurality of tensors.
  • a tensor can represent a multi -dimensional array that may include complex numbers.
  • a tensor network can also include a plurality of indices associated w ith the tensors. Each tensor may include some or all of the plurality of indices.
  • the tensor network can be a very useful tool, since it provides a visual language, accompanied by sets of mathematical tools, that simplifies fiendishly difficult computations.
  • FIG, I illustrates a schematic of example tensors, according to some embodiments of the present disclosure.
  • tensors are notated by solid shapes, and tensor indices are notated by one or more lines emanating from the tensors.
  • Tensor indices associated with a tensor can be denoted as subscript or superscript on the tensor.
  • FIG. 1 includes three different tensors -- a vector tensor V j , a matrix tensor M t , and a 3-index tensor T i j k .
  • Vector tensor V can be a 1-dimensional array of scalar values.
  • Matrix tensor M ⁇ j can be a 2 -dimensional array of scalar values.
  • Tire 3-index tensor T: : k can be a 3-dimensional array of scalar values. It is appreciated that tensors can have more than three indices.
  • tensors can be joined by tensor indices. Contraction of a tensor network can include merging indices of a same kind in different tensors, and sum over indices that do not appear in the final result.
  • FIG. 2 illustrates a schematic of example tensor contractions, according to some embodiments of the present disclosure. As shown in FIG. 2, a tensor network contraction for tensors V can be denoted as , ⁇ VjAf . After the contraction, the tensors Fj and M ( can be merged on index. It is appreciated that a tensor index can be connected to more than two tensors.
  • edges and hyperedges can be connected to more than two tensors.
  • a tensor index can be an open index or a closed index.
  • An open index is an index that has an open end.
  • index j is an open index, since it has an open end.
  • a closed index is an index without an open end.
  • index i is a closed index, since it does not have an open end.
  • contracting a tensor network can involve contractions of open edges and closed edges.
  • the contractions of open edges and closed edges can be intertwined.
  • contracting a tensor network can involve sequentially merging and summing up closed edges and merging open edges.
  • contracting a tensor network can include two phases in a first phase, closed indices can be merged and summed up one by one.
  • a second phase the open indices are merged one by one.
  • the first phase can consume the majority of computational resources and time compared to the second phase.
  • Hie contraction order thus is to be chosen wisely in order to avoid unnecessary resource consumption.
  • embodiments of the present disclosure provide methods and systems for performing contraction of a tensor network.
  • a way of contracting a tensor network is to defer the summation over some closed indices until at the end of the computation .
  • each term in the final summation corresponds to a sub tensor network which is simpler than the original tensor network.
  • the contraction of a tensor network can he performed by distributing the plurality of sub tensor networks onto cluster nodes, and summing up the contraction results sent back from the cluster nodes.
  • FIG. 3 illustrates a schematic of an exemplary cloud service system 100, according to some embodiments of the present disclosure.
  • Cloud sendee system 100 can include a plurality of computing devices to provide cloud sendee to users.
  • cloud se dee system 100 can include computing devices 100a, 100b, 100c, .... lOOn.
  • Each computing device e.g., computing device 100a
  • can include at least one processor 102 e.g., processor 102a, processor 102b, and processor 102c
  • a memory ' 104 communicatively coupled to at feast one processor 102 via a bus 106
  • an interface 108 communicatively coupled to bus 106.
  • At least one processor 102 can be any suitable processor capable of executing instructions.
  • processor 102a can be an X86 processor or an ARM processor.
  • at least one processor 102 can also include an accelerator (e.g., neural processing unit) for providing computing capability related to neural networks, such as neural network training and inference.
  • an accelerator e.g., neural processing unit
  • Memory 104 can be configured to store instructions and data accessible by at least one processor 102.
  • the instructions can be executed by at least one processor 102 to cause computing device 100a to execute a variety of functions.
  • memory 104 can be implemented by any suitable technology, such as a static random access memory (“SRAM”), a synchronous dynamic RAM (“SDRAM”), a nonvolatile memory, and the like.
  • SRAM static random access memory
  • SDRAM synchronous dynamic RAM
  • nonvolatile memory and the like.
  • Bus 106 can be configured to provide connection among components of computing device 100a.
  • processor 102 processor 102
  • memory' 104 processor 102
  • network interlace 106 can be connected with each other via bus 106.
  • Interface 108 can include a network interface providing wired or wireless network connection and an input/output (“I/O”) interface communicatively coupled with peripheral devices (e.g., a cursor control device, a keyboard, a display, and the like).
  • the network interface can be configured to provide communication between system 100 and a client tenninal 120 via a network 110.
  • Network 110 can be Internet, a private network, and the like.
  • client terminal 120 can be a personal computer, a server, a smart phone, a tablet, or any computing device.
  • the I/O interface can include at least one of a Universal Serial Bus (USB) port, a peripheral component interconnect express (PCI-E) port, and the like for connection with the peripheral devices.
  • USB Universal Serial Bus
  • PCI-E peripheral component interconnect express
  • FIG. 4 illustrates a flowchart of an exemplary method 200 for performing contraction of a tensor network, according to some embodiments of the present disclosure.
  • Method 200 can be implemented by a computing device (e.g., cloud sendee system 100 or computing device 100a of FIG. 3).
  • Method 200 can include steps as follows.
  • a tensor network is received.
  • the tensor network can include a plurality of tensors.
  • the tensor network can further include edges among the plurality of tensors. Edges, which can also be referred to as indices, are associated with the dimension of the tensor.
  • the dimension of the tensor can also be referred to as a rank.
  • a tensor network 7y fe including tensors A i j , B j k t , and C i h is a rank-three tensor network with edges i,j, k, and /.
  • Tensor B j k i is a rank-three tensor, since it is associated with three edges. As A and B j-k l both have edge j, edge j is connected between A i j and % 3 ⁇ 4, ⁇ ⁇ ft can be seen that the edge / is merged in tensor network ⁇ ) j k , and thus it may be referred to a closed edge. It is appreciated that the edges of a tensor network can include zero or more closed edges and zero or more open edges.
  • FIG. 5 illustrates an exemplary tensor netwOrk, according some embodiments of the present disclosure.
  • tensor network 300 can include tensors A, B, C, D, F, G, and H. Each of the tensors can include zero or more closed edges and zero or more open edges.
  • an edge 302 connecting between tensors A and B is a closed edge.
  • An edge i with one end connected to tensor D and the other end left open is an open edge.
  • edges j, k, /, and m are also open edges. Therefore, tensor network 300 can also be described as a tensor network T(i,j, k, 1, m), where edges i, j, k, L and m are open edges in the tensor netwOrk.
  • a contraction order of the tensor network is determined.
  • a contraction order can be determined according to a tree decomposition.
  • the tensor network is associated with a plurality of edges for tensors, and each tensor may be associated with some or all of the plurality of edges.
  • the contraction of the tensor network includes a process for merging edges of a same kind in different tensors.
  • the contraction order is an order of merging edges.
  • a virtual tensor can be created for connecting the one or more open edges.
  • the virtual tensor is created to connect some or all open edges the tensor network .
  • the virtual tensor may include no data.
  • the rank of the virtual tensor can be associated with the number of the open edges. For example, as shown in FIG. 5, tensor network 300 includes five open edges (i, j, k, 1, m), and thus, a virtual tensor V for tensor network 300 can have a rank of five.
  • the virtual tensor V has five edges corresponding to the open edges (i, j, k, 1, m), and can he represented as, for example, V(i, j , k, L m).
  • a tree decomposition may be used to determine the contraction order of the tensor network.
  • a tree decomposition is mapping of a graph into a tree that can be used to speed up solving computational tasks on the graph.
  • a tensor network can be mapped as a tree according to tree decomposition.
  • each node in a tree can include one or more indices from the tensor network.
  • the tree nodes that include a particular index may fonn a subtree.
  • every tensor in the tensor network may correspond to one or more nodes in tire tree, such that the nodes include ail the indices adjacent to the tensor.
  • a tree node can be chosen as the root node.
  • the contraction order can be generated from the root tree in an iterative process, starting from an empty contraction order.
  • the leaf node can be removed from the tree.
  • the closed indices can be appended to an end of the contraction order.
  • the iterative process can be repeated until the tree is empty .
  • a tree node With the presence of the virtual tensor, a tree node can be selected to be the root node if it includes all the indices adjacent to the virtual tensor.
  • Hie contraction order can be generated from the root tree in an iterative process.
  • the iterative process can start from an empty contraction order. While there is a tree leaf node, the leaf node can be removed from the tree. For all closed indices present the leaf node but no longer present in the new tree, the closed indices can be appended to the end of the contraction order. The iterative process can be repeated until the tree is empty.
  • FIG, 6 illustrates an exemplary intermediate tensor network, according to some embodiments of the present disclosure. It is appreciated that intermediate tensor network 310 shown in FIG, 6 can be an intermediate tensor network to tensor network 300 shown in FIG, 5. As shown in FIG. 6, open edges of a tensor network (e.g., tensor network 300 of FIG. 3A) can be closed by a virtual tensor V(i, j, k, 1, m) that includes all the open edges.
  • V(i, j, k, 1, m) virtual tensor
  • the open edges in the tensor network e.g., tensor netw ork 300 of FIG. 3A
  • V virtual tensor
  • the computing device can perform tree decomposition on the intermediate tensor network intuitively, a tree decomposition is a wny of drawing a graph to look like a tree. To do so, sets of vertices, or bags, may be viewed as single vertices. The less a graph looks like a tree, the larger the bags become in some embodiments, the tree decomposition can be performed using tree decomposition algorithms or computing programs (e.g., a subroutine). The contraction order of the tensor network can also be determined based on the tree.
  • FIG. 7 illustrates a schematic of an exemplary tree diagram, according to some embodiments of the disclosure. As shown in FIG.
  • tree diagram 320 is generated by perforating tree decomposition on intermediate tensor network 310 shown in FIG. 6.
  • Tensors in intermediate tree 320 can be grouped into one or more tree nodes or bags. For example, as shown in FIG, 7, tensors A, B, and C can be grouped into a tree node.
  • intermediate tensor network 310 can have a tree-like structure.
  • the computing device can determine, among the plurality of edges, one or more edges for generating a plurality of sub-networks based on the tensor network in some embodiments, each edge can include one or more elements.
  • an edge i in T(i, j, k, 1, m) shown in FIG. 5 can include elements of i[0], i[ l], i[2], ... , i[7] and can be selected tor generating a plurality of sub-networks.
  • a first sub-network corresponding to i[0], a second sub-network corresponding to i[l], a third sub-network corresponding to i[2], ..., an eighth sub-network corresponding to i[7] can be generated.
  • the computing device can generate a plurality of e valuation sub networks for each of the plurality of edges.
  • FIG. 8 illus trates an exemplary schematic of generating sub-networks, according to some embodiments of the disclosure.
  • a tensor network 402 can include tensors (A, B, C, D, and E) and edges (a, b, c, d, e, and f).
  • edges a, b, c, d, e, and f
  • edge 404 and 406 can be generated.
  • edge d can be in a range of ⁇ 0, 1 ⁇ . It is appreciated that the generation of sub-networks shown in FIG. 8 can be performed by a computing device (e.g., cloud sendee system 100 or computing device 100a of FIG. 3).
  • tensor network 402 can be replaced by the sum of two sub-networks 404 and 406.
  • sub-networks 404 and 406 have the same shape, but with possibly different tensors being associated to the corresponding nodes of the sub-networks. More particularly, sub-network 404 can be generated based on edge d being “0,” and sub-network 406 is generated based on edge d being “1.”
  • tensors A' b and C e ' of sub-network 404 and tensors A b and C' of sub-network 406 can be represented as follows.
  • the shape of the sub-network is the same as the shape of the original tensor network (e.g., tensor network 402), except that an edge (e.g , edge d) is removed from the graph.
  • the shape of sub-network 404 is the same as the shape of tensor network 402, except that edge d is removed from the graph.
  • the plurali ty of evaluation sub networks do not have to be real sub-networks.
  • the plurality of evaluation sub networks can be virtual sub-networks for evaluation.
  • tire plurality of evaluation sub-networks can be generated by traversing the plurality of index elements of each edge and generating the plurality of evaluation sub-networks corresponding to the plurality of index elements.
  • Tire computing device can then estimate resources consumption required for performing contraction on the tensor network based on the plurality of evaluation sub-networks, respectively. For example, in T(i, j, k, 1, m) shown in FIG, 5, the resources consumption based on edges i, j, k, 1, and m can be estimated.
  • FIG. 9 illustrates a schematic of an exemplary contraction of a tensor network, according to some embodiments of the disclosure. It is appreciated that the contraction of tensor network 500 shown in FIG. 9 can be performed by a computing device (e.g., cloud service system 100 or computing device 100a of FIG. 3).
  • a computing device e.g., cloud service system 100 or computing device 100a of FIG. 3.
  • tensor network 500 includes tensors (A, B, C, D, and E) and edges (a, b, c, d, e, and f).
  • edges a, b, c, d, e, and f.
  • an edge b can be merged and summed over.
  • a tensor network 502 is generated with a new' tensor F replacing tensors connected by edge b (e.g., tensors A, B, and D).
  • tensor F can be represented by an equation below.
  • the values of tensor F can be computed by the formula above.
  • an additional space of di en si on(a) x dimension(c) x dimen sion(d) is needed.
  • computing tensor F can take dimension(a)xdimension(e) x dimension(d) amount of time.
  • tensors A, B, D can be merged and removed from tensor network 500 to generate tensor network 502.
  • merging tensors can involve matrix multiplication.
  • the cost of the matrix multiplication can he estimated first.
  • the estimation of the cost of the matrix manipulation can depend on the shape of the intermediate tensors rather than the actual values.
  • the resource consumption can include time consumption and space consumption.
  • the total time consumption is the sum of the time consumptions from each step.
  • the space consumption may be the maximum value of the sum of the sizes of the tensors in the tensor network.
  • step 208 contraction on the plurality of sub networks can be performed based on the contraction order.
  • the computing device can perform the contraction on tire plurality of sub-networks based on the contraction order in some embodiments, the plurality of sub-networks can be distributed to a plurality of computing nodes (e.g., a plurality of cloud sendee devices 100 of FIG, 1) of a cloud system, respectively, for performing contraction on each of the plurality of sub networks.
  • contraction on some or all of the plurality of sub-networks can be performed in parallel .
  • contraction of a tensor network can be performed in an iterative manner.
  • an edge at a front of the contrac tion order can be chosen and removed from the contraction order. All tensors adjacent to the chosen edge can be merged into a single new intermediate tensor.
  • the new intermediate tensor can include all the edges that have been adjacent to one or more of the tensors that are adjacent to the chosen edge.
  • the chosen edge and its neighbors in the tensor network can then be replaced by the new intermediate tensor.
  • the above iterative step can be repeated until the contraction order is empty.
  • more than one tensor can be left in the tensor network in this case, the more than one tensor can be merged to form a final tensor.
  • the final tensor is adjacent to ail the open edges.
  • the resource consumption estimation can be performed by estimating the time and space consumption of the contraction process, respectively.
  • an intermediate tensor can be generated and one or more tensors can be removed from the tensor network.
  • the time consumption of the contraction may be estimated by the sum of the sizes of all the intermediate tensors.
  • the space consumption may be estimated as a maximum value of the sum of the sizes of the tensors in the tensor network.
  • the time and space consumptions can be merged into a single quantity which serves as a resource estimator for the contraction.
  • the use of sub-networks can improve the computational time of contracting tensor networks by more than a 100 times.
  • the plurality of sub-networks can be distributed to a plurality of computing nodes (e.g., a plurality of cloud service devices 100 of FIG. 1) of a cloud system, respectively, for performing contraction on each of the plurality of sub networks.
  • the computing node can further determine a final contraction order for each of the plurality of sub-networks, and then perform contraction on each of the plurality of sub networks based on tire final contraction order.
  • the contraction processes shown above can be used for quantum circuits or simulating quantum circuits.
  • a quantum circuit is a computational routine in which a computation is a sequence of quantum gates.
  • the quantum circuit can be an ordered sequence of quantum gates, measurements, and resets.
  • a quantum gate can perform operations that change a qubit’s state
  • a qubit is a basic variable in quantum computing, or a variant of the bit.
  • a quantum circuit C can be naturally regarded as a tensor network.
  • the tensor network for the quantum circuit C can be represented as N(C).
  • each gate in the quantum circuit C can be regarded as a tensor in tensor network N ( C ).
  • Qubit lines can be wares or closed edges that connect the tensors, or open edges that correspond to the input and output qubits.
  • each edge can be contracted one by one and convolution of the corresponding tensors can be performed, until there is one vertex left.
  • this vertex can be labelled by a single number, which can provide a final measurement probability of the tensor network N (C) sought by the simulation
  • N tensor network
  • the final measurement after contraction can be a vector.
  • One advantage of using tensor con traction to simulate quantum circui ts is that the individual quantum gates m the circuit do not have to be necessarily simulated in their original order. In fact, a given gate may be simulated partially at several stages of the simulation.
  • FIG. 10 illustrates a schematic of an exemplary representation of a quantum circuit using a tensor network, according to some embodiments of the disclosure.
  • a quantum circuit C is presented, with four input qubits (e.g., 4 qubit lines above quantum circuit C) and four output qubits (e.g., 4 qubit lines below quantum circuit C).
  • Quantum circuit C can include one or more quantum gates.
  • quantum circuit C can be represented as a tensor network N(C).
  • tensor network N(C ) includes 8 open edges.
  • Four of the open edges e.g., four edges above the tensors
  • the other tour of the open edges e.g., four edges below the tensors
  • the tensors shown in tensor network N (C) can correspond to the gates in quantum circuit C.
  • contracting tensor network N ( C ) gives tensor for the operator that quantum circuit C realizes.
  • Embodiments of the present disclosure provide methods and systems that use sub-networks to make estimations on computational costs on contraction orders.
  • the methods and sy stems can be used for tensor networks with open edges, and the tensor networks discussed above can be used tor simulating quantum circuits.
  • sub-networks By using sub-networks,
  • a block in the flow charts or diagrams may represent a software program, segment, or portion of code, which comprises one or more executable instructions for implementing specific functions.
  • the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the diagrams or flow charts, and combinations of blocks in the diagrams and flow charts may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
  • the terms “comprises,” “comprising,” or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, composition, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, composition, article, or apparatus.
  • the term “exemplary” is used in the sense of “example” rather than “ideal.”
  • the term “or” encompasses all possible combinations, except where infeasible.
  • a database may include A or B, then, unless specifically stated otherwise or infeasible, the database may include A, or B, or A and B.
  • the database may include A, or B, or C, or A and B, or A and C, or B and C, or A and B and C.
  • the above described embodiments can be implemented by hardware, or software (program codes), or a combination of hardware and software. If implemented by software, it may be stored m the above-described computer-readable media. The software, when executed by the processor can perform the disclosed methods.
  • the data storage system, secondary storage unit, other functional units described in this disclosure can be implemented by hardware, or software, or a combination of hardware and software.
  • One of ordinary skill in the art will also understand that multiple ones of the above described functional units may be combined as one functional unit, and each of the above described functional units may be further divided into a plurality of functional sub-units.
  • a method tor performing contraction on a tensor network comprising: receiving, by a system, a tensor network comprising a plurality of tensors and a plurality of edges among the plurality of tensors, wherein each edge is associated with a plurality of index elements; determining a contraction order of the tensor netw ork; determining, among the plurality of edges, one or more edges for generating a plurality of sub-networks based on the tensor network; and distributing the plurality of sub-networks to a plural ty of computing nodes of the system to perform, by the plurality of computing nodes, contraction on the plurality of sub networks based on the contraction order.
  • the edges comprise one or more open edges and one or more closed edges
  • determining the contraction order of the tensor network further comprises: creating a virtual tensor for connecting the one or more open edges; generating an intermediate tensor network, the intermediate tensor network having the one or more open edges closed by the virtual tensor; performing tree decomposition on the intermediate tensor network to construct a tree; and determining the contraction order of the tensor network based on the tree.
  • determining, among the plurality of edges, the one or more edges for generating the plurality of sub-networks based on the tensor network further comprises: generating a plurality of evaluation sub-networks for each of the plurality of edges; estimating resource consumption required for performing contraction on the tensor network based on the plurality of evaluation sub-networks, respectively; and determining the one or more edges that require lower consumption based on the estimation.
  • the tensor network is used for simulating a quantum circuit that includes one or more quantum gates and one or more qubit lines, the plurality of tensors correspond to the one or more quantum gates, and the plurality ' of edges correspond to the one or more qubit lines.
  • a non-transitory computer readable medium that stores a set of instructions that is executable by at least one processor of a system to cause the system to perform contraction on a tensor network, the method comprising: receiving, a tensor network comprising a plural ty of tensors and a plurality of edges among the plurality- of tensors, wherein each edge is associated with a plurality of index elements; determining a contraction order of the tensor netw ork; determining, among the plurality of edges, one or more edges for generating a plurality of sub-networks based on the tensor network; and distributing the plurality of sub-networks to a plural ty of computing nodes of the system to perform, by the plurality of computing nodes, contraction on the plurality of sub networks based on the contraction order.
  • the edges comprise one or more open edges and one or more closed edges
  • the set of instructions is executable by the at least one processor of the system to cause the system to further perform: creating a virtual tensor for connecting the one or more open edges; generating an intermediate tensor network, the intermediate tensor network having the one or more open edges closed by the virtual tensor; performing tree decomposition on the intermediate tensor network to construct a tree; and determining the contraction order of the tensor network based on the tree.
  • set of instructions is executable by the at least one processor of the system to cause the system to further perform: performing, by the plurality of computing nodes, contraction on the plurality of sub networks in parallel.
  • the set of instructions is executable by the at least one processor of the system to cause the system to further perform: determining a final contraction order for each of the plurality of sub-ne tworks; and performing contraction on each of the plurality of sub-networks based on the final contraction order.
  • the set of instructions is executable by the at least one processor of the system to cause the system to finther perform : the tensor network is used for simulating a quantum circuit that includes one or more quantum gates and one or more qubit lines, the plurality of tensors correspond to the one or more quantum gates, and the plurality of edges correspond to the one or more qubit lines.
  • a system comprising: a plurality of compu ting nodes; one or more memories storing a set of instructions; and one or more processors configured to execute the set of instructions to cause the system to perform: receiving a tensor network comprising a plurality of tensors and a plurality of edges among the plurality of tensors, wherein each edge is associated with a plurality of index elements; determining a contraction order of the tensor network; determining, among the plurality of edges, one or more edges for generating a plurality of sub-netw orks based on the tensor network; and distributing the plurality of sub-networks to the plurality of computing nodes of the system to perform by the plurality of computing nodes, contraction on the plurality of sub-networks based on the contraction order.
  • the edges comprise one or more open edges and one or more closed edges
  • the one or more processors are further configured to execute the set of instructions to cause the system to perform: creating a virtual tensor for connecting the one or more open edges; generating an intermediate tensor network, the intermediate tensor network having the one or more open edges closed by the virtual tensor; performing tree decomposit on on the intermediate tensor network to construct a tree; and determining the contraction order of the tensor network based on the tree.
  • the one or more processors are further configured to execute the set of instructions to cause the system to perform: generating a plurality of evaluation sub-networks for each of the plurality of edges; estimating resource consumption required for performing contraction on the tensor network based on the plurality of evaluation sub-networks, respectively; and determining the one or more edges that require lower consumption based on the estimation.
  • the one or more processors are further configured to execute the set of instructions to cause the system to perform: the tensor network is used for simulating a quantum circuit that includes one or more quantum gates and one or more qubit lines, the plurality of tensors correspond to the one or more quantum gates, and the plurality of edges correspond to the one or more qubit lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Complex Calculations (AREA)
PCT/US2020/067669 2020-01-06 2020-12-31 A distributed tensor network contraction scheme with splitting based on dynamic ordering Ceased WO2021141827A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20912773.7A EP4088085A4 (en) 2020-01-06 2020-12-31 DISTRIBUTED TENSOR NETWORK CONTRACTIOUS SCHEME WITH SPLIT BASED ON DYNAMIC ORDER
JP2022538712A JP7756642B2 (ja) 2020-01-06 2020-12-31 動的順序付けに基づいた分割による分散テンソルネットワーク縮約方式
CN202080091727.9A CN115066589B (zh) 2020-01-06 2020-12-31 基于动态排序分割的分布式张量网络收缩方案

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062957442P 2020-01-06 2020-01-06
US62/957,442 2020-01-06

Publications (1)

Publication Number Publication Date
WO2021141827A1 true WO2021141827A1 (en) 2021-07-15

Family

ID=76654904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/067669 Ceased WO2021141827A1 (en) 2020-01-06 2020-12-31 A distributed tensor network contraction scheme with splitting based on dynamic ordering

Country Status (5)

Country Link
US (1) US12019959B2 (enExample)
EP (1) EP4088085A4 (enExample)
JP (1) JP7756642B2 (enExample)
CN (1) CN115066589B (enExample)
WO (1) WO2021141827A1 (enExample)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12242778B2 (en) * 2020-08-12 2025-03-04 Microsoft Technology Licensing, Llc Low-cost linear orders for quantum-program simulation
US12468973B2 (en) * 2021-07-02 2025-11-11 University Of Florida Research Foundation, Incorporated Physical transformations for multi-dimensional data quantum representations
CN113612834B (zh) * 2021-07-30 2023-06-13 烽火通信科技股份有限公司 一种云网资源的统一表示及优化分配方法与系统
US12585841B2 (en) * 2021-08-11 2026-03-24 Uchicago Argonne, Llc Quantum simulation
CN119768808A (zh) * 2022-07-14 2025-04-04 谷歌有限责任公司 用于量子计算和信息处理的装置噪声下稳定子码的基于矩阵乘积态的解码器
CN115146780B (zh) * 2022-08-30 2023-07-11 之江实验室 一种量子张量网络转置和收缩协同的方法和装置
CN116342383A (zh) * 2022-12-08 2023-06-27 阿里云计算有限公司 张量处理方法、设备和存储介质
US12423137B1 (en) * 2022-12-15 2025-09-23 Amazon Technologies, Inc. Compiler managed tensor parallel execution
CN117556909B (zh) * 2023-11-15 2025-04-22 北京百度网讯科技有限公司 量子电路模拟方法、装置及电子设备
JP7682328B1 (ja) * 2024-03-22 2025-05-23 ソフトバンク株式会社 量子コンピュータシステムおよびその制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016235087A1 (en) * 2015-03-24 2017-09-21 Kyndi, Inc. Cognitive memory graph indexing, storage and retrieval
CN106202739B (zh) * 2016-07-14 2017-12-08 哈尔滨理工大学 一种骨骼肌力学行为多尺度建模方法
CN106651877B (zh) * 2016-12-20 2020-06-02 北京旷视科技有限公司 实例分割方法及装置
US10600184B2 (en) * 2017-01-27 2020-03-24 Arterys Inc. Automated segmentation utilizing fully convolutional networks
US11250190B2 (en) * 2017-09-22 2022-02-15 International Business Machines Corporation Simulating quantum circuits
CN107679572B (zh) * 2017-09-29 2021-05-04 深圳大学 一种图像判别方法、存储设备及移动终端
US11093679B2 (en) * 2018-03-14 2021-08-17 International Business Machines Corporation Quantum circuit decomposition by integer programming
CN110428055A (zh) * 2018-04-27 2019-11-08 阿里巴巴集团控股有限公司 量子计算方法和设备

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
EUGENE F. DUMITRESCU; ALLISON L. FISHER; TIMOTHY D. GOODRICH; TRAVIS S. HUMBLE; BLAIR D. SULLIVAN; ANDREW L. WRIGHT: "Benchmarking treewidth as a practical component of tensor-network--based quantum simulation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 12 July 2018 (2018-07-12), 201 Olin Library Cornell University Ithaca, NY 14853, XP081116303, DOI: 10.1371/journal.pone.0207827 *
FRIED E SCHUYLER, SAWAYA NICOLAS, CAO YUDONG, KIVLICHAN IAN D, ROMERO JHONATHAN, ASPURU-GUZIK ALÁN: "qTorch: The quantum tensor contraction handler", PLOS ONE, PUBLIC LIBRARY OF SCIENCE, US, vol. 13, no. 12, 10 December 2018 (2018-12-10), US, pages e0208510 - e0208510, XP055843259, ISSN: 1932-6203, DOI: 10.1371/journal.pone.0208510 *
FRIED ES ET AL.: "qTorch: The quantum tensor contraction handler", PLOS ONE, vol. 13, no. 12, 10 December 2018 (2018-12-10), XP055843259, DOI: 10.1371/journal.pone.0208510
MURG V., VERSTRAETE F., SCHNEIDER R., NAGY P. R., LEGEZA Ö.: "Tree Tensor Network State with Variable Tensor Order: An Efficient Multireference Method for Strongly Correlated Systems", JOURNAL OF CHEMICAL THEORY AND COMPUTATION: JCTC, ACS, AMERICAN CHEMICAL SOCIETY, US, vol. 11, no. 3, 10 March 2015 (2015-03-10), US, pages 1027 - 1036, XP055843263, ISSN: 1549-9618, DOI: 10.1021/ct501187j *
PFEIFER ROBERT N. C., HAEGEMAN JUTHO, VERSTRAETE FRANK: "Faster identification of optimal contraction sequences for tensor networks", PHYSICAL REVIEW E (STATISTICAL, NONLINEAR, AND SOFT MATTER PHYSICS), AMERICAN PHYSICAL SOCIETY, COLLEGE PARK, MD, US, vol. 90, no. 3, 1 September 2014 (2014-09-01), US, XP055843264, ISSN: 1539-3755, DOI: 10.1103/PhysRevE.90.033315 *
SCHRÖDER FLORIAN A. Y. N., TURBAN DAVID H. P., MUSSER ANDREW J., HINE NICHOLAS D. M., CHIN ALEX W.: "Tensor network simulation of multi-environmental open quantum dynamics via machine learning and entanglement renormalisation", NATURE COMMUNICATIONS, vol. 10, no. 1, 1 December 2019 (2019-12-01), XP055843274, DOI: 10.1038/s41467-019-09039-7 *
See also references of EP4088085A4
STEFANOS KOURTIS; CLAUDIO CHAMON; EDUARDO R. MUCCIOLO; ANDREI E. RUCKENSTEIN: "Fast counting with tensor networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 1 May 2018 (2018-05-01), 201 Olin Library Cornell University Ithaca, NY 14853, XP081561284, DOI: 10.21468/SciPostPhys.7.5.060 *

Also Published As

Publication number Publication date
US12019959B2 (en) 2024-06-25
EP4088085A1 (en) 2022-11-16
JP2023510706A (ja) 2023-03-15
CN115066589A (zh) 2022-09-16
US20210209270A1 (en) 2021-07-08
JP7756642B2 (ja) 2025-10-20
CN115066589B (zh) 2025-07-15
EP4088085A4 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
US12019959B2 (en) Distributed tensor network contraction scheme with splitting based on dynamic ordering
US8645429B1 (en) Resolving conflicting graph mutations
Yadav et al. Comparative evaluation of ARIMA and ANFIS for modeling of wireless network traffic time series
CN115114569B (zh) 一种基于量子线路的非线性偏微分方程求解方法及装置
Ozawa Asymptotics for the stationary distribution in a discrete-time two-dimensional quasi-birth-and-death process
Iyer et al. On handling large-scale polynomial multiplications in compute cloud environments using divisible load paradigm
WO2017076296A1 (zh) 处理图数据的方法和装置
CN117896264A (zh) 基于卷积神经网络算法的自适应网络拓扑生成方法及系统
Ulanov et al. Modeling scalability of distributed machine learning
CN103679564B (zh) 一种用于配电网拓扑分析分布式计算的任务分配方法
Naranjo et al. PRIMROSe: a graph-based approach for enterprise architecture analysis
US11669727B2 (en) Information processing device, neural network design method, and recording medium
Atrushi et al. Distributed Graph Processing in Cloud Computing: A Review of Large-Scale Graph Analytics
Valeyev The lower border of complexity of algorithm of the elementary NP-complete task (The most condensed Version)
CN114091686B (zh) 数据处理方法、装置、电子设备和存储介质
Rusakov Using metrics in the analysis and synthesis of reliable graphs
Kunegis et al. Predicting directed links using nondiagonal matrix decompositions
Kuchuk et al. Mathematical Methods of Reliability Analysis of the Network Structures: Securing QoS on Hyperconverged Networks for Traffic Anomalies
CN114139711B (zh) 分布式推断方法、数据处理方法、装置、终端及计算设备
CN114070708A (zh) 基于流量特征提取的虚拟网络功能资源消耗预测方法
CN113627664A (zh) Gaia系统中的面向图迭代作业的运行时间预测系统及方法
Kowalczyk et al. Kernel-based learning with guarantees for multi-agent applications
Chen et al. Graph edge contraction and subdivisions for adjacency polytopes
Petroudi et al. New Results on Soft Banach Algebra
Haque et al. Mapreduce guided approximate inference over graphical models

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20912773

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022538712

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020912773

Country of ref document: EP

Effective date: 20220808

WWG Wipo information: grant in national office

Ref document number: 202080091727.9

Country of ref document: CN