CPC G16C 20/70 (2019.02) [G16C 20/40 (2019.02); G16C 20/90 (2019.02)] | 20 Claims |
1. A method performed by one or more computers, the method comprising:
receiving, from a user, data defining a chemical computation graph, wherein:
the chemical computation graph comprises a set of chemical computation nodes and a set of edges;
each chemical computation node is configured to perform operations comprising:
receiving a set of input molecules; and
processing the set of input molecules, in accordance with a sequence of one or more transformation operations associated with the chemical computation node, to generate a set of output molecules; and
each edge connects a respective first chemical computation node to a respective second chemical computation node and defines that a respective set of output molecules generated by the first chemical computation node should be provided as a respective set of input molecules to a second chemical computation node;
wherein the chemical computation graph comprises a plurality of chemical computation nodes that are arranged in a non-linear configuration; and
generating a set of candidate molecules using the chemical computation graph, comprising:
providing a set of first molecules to a chemical computation node in the chemical computation graph that is designated as an input node; and
executing the chemical computation graph, using a collection of multiple computing units, to generate the set of candidate molecules as an output of a chemical computation node that is designated as an output node, comprising:
dynamically identifying chemical computation nodes that are eligible for execution, wherein a chemical computation node is eligible for execution when all input molecules to be processed by the chemical computation node are available; and
assigning chemical computation nodes that are eligible for execution to respective computing units of the collection of multiple computing units;
wherein the collection of computing units executes operations of at least some of the chemical computation nodes in parallel.
|