Automated transition from non-neuromorphic to neuromorphic processing
First Claim
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
- receive a first request to perform an analytical function with a first data set comprising multiple sets of input values to generate multiple corresponding sets of output values;
assign, as part of a first assignment of processing resources, at least a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of the analytical function with the first data set, and with at least a predetermined level of throughput, through execution of instructions implementing the analytical function by one or more processor cores;
after the assignment of instruction-based processing resources to the first non-neuromorphic performance, analyze a state of remaining processing resources; and
in response to current availability of sufficient remaining processing resources to enable a first neuromorphic performance of the analytical function with at least a subset of the sets of input values of the first data set through use of a neural network defined by at least a set of hyperparameters, and at least partly in parallel with the first non-neuromorphic performance;
assign, as part of the first assignment, at least a portion of the remaining processing resources to the first neuromorphic performance;
analyze the sets of output values generated from the subset of the sets of input values by the first neuromorphic performance relative to corresponding sets of output values generated by the first non-neuromorphic performance to determine a first degree of accuracy of the neural network in performing the analytical function; and
in response to at least the first degree of accuracy exceeding a predetermined higher threshold, in response to receipt of a second request from a requesting device to perform the analytical function with a second data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a second neuromorphic performance of the analytical function with the second data set through use of the neural network, and with at least the predetermined level of throughput;
assign, as part of a second assignment of processing resources, at least a portion of currently available processing resources to the second neuromorphic performance;
after the assignment of processing resources to the second neuromorphic performance, analyze a state of remaining instruction-based processing resources currently available; and
in response to current availability of sufficient remaining instruction-based processing resources to enable a second non-neuromorphic performance of the analytical function with at least a subset of the sets of input values of the second data set through execution of instructions implementing the analytical function by one or more processor cores, and at least partly in parallel with the second neuromorphic performance;
assign, as part of the second assignment, at least a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance;
analyze the sets of output values generated from the subset of the sets of input values by the second neuromorphic performance relative to corresponding sets of output values generated by the second non-neuromorphic performance to determine a second degree of accuracy of the neural network in performing the analytical function; and
in response to at least the second degree of accuracy exceeding the predetermined higher threshold, transmit the multiple sets of output values generated from the second data set by the second neuromorphic performance to the requesting device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus includes a processor to: assign a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of an analytical function; in response to availability of sufficient remaining processing resources for a first neuromorphic performance of the analytical function with the same input values, assign a portion of the remaining processing resources to the first neuromorphic performance; analyze the output values generated by the first neuromorphic and non-neuromorphic performances to determine a degree of accuracy of the neural network in performing the analytical function; in response to at least the degree of accuracy exceeding a predetermined threshold, assign a portion of currently available processing resources to a second neuromorphic performance of the analytical function; and in response to availability of sufficient remaining processing resources for a second non-neuromorphic performance of the analytical function, assign a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance.
54 Citations
30 Claims
-
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
-
receive a first request to perform an analytical function with a first data set comprising multiple sets of input values to generate multiple corresponding sets of output values; assign, as part of a first assignment of processing resources, at least a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of the analytical function with the first data set, and with at least a predetermined level of throughput, through execution of instructions implementing the analytical function by one or more processor cores; after the assignment of instruction-based processing resources to the first non-neuromorphic performance, analyze a state of remaining processing resources; and in response to current availability of sufficient remaining processing resources to enable a first neuromorphic performance of the analytical function with at least a subset of the sets of input values of the first data set through use of a neural network defined by at least a set of hyperparameters, and at least partly in parallel with the first non-neuromorphic performance; assign, as part of the first assignment, at least a portion of the remaining processing resources to the first neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the first neuromorphic performance relative to corresponding sets of output values generated by the first non-neuromorphic performance to determine a first degree of accuracy of the neural network in performing the analytical function; and in response to at least the first degree of accuracy exceeding a predetermined higher threshold, in response to receipt of a second request from a requesting device to perform the analytical function with a second data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a second neuromorphic performance of the analytical function with the second data set through use of the neural network, and with at least the predetermined level of throughput; assign, as part of a second assignment of processing resources, at least a portion of currently available processing resources to the second neuromorphic performance; after the assignment of processing resources to the second neuromorphic performance, analyze a state of remaining instruction-based processing resources currently available; and in response to current availability of sufficient remaining instruction-based processing resources to enable a second non-neuromorphic performance of the analytical function with at least a subset of the sets of input values of the second data set through execution of instructions implementing the analytical function by one or more processor cores, and at least partly in parallel with the second neuromorphic performance; assign, as part of the second assignment, at least a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the second neuromorphic performance relative to corresponding sets of output values generated by the second non-neuromorphic performance to determine a second degree of accuracy of the neural network in performing the analytical function; and in response to at least the second degree of accuracy exceeding the predetermined higher threshold, transmit the multiple sets of output values generated from the second data set by the second neuromorphic performance to the requesting device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, the computer-program product including instructions operable to cause a processor to perform operations comprising:
-
receive a first request to perform an analytical function with a first data set comprising multiple sets of input values to generate multiple corresponding sets of output values; assign, as part of a first assignment of processing resources, at least a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of the analytical function with the first data set, and with at least a predetermined level of throughput, through execution of instructions implementing the analytical function by one or more processor cores; after the assignment of instruction-based processing resources to the first non-neuromorphic performance, analyze a state of remaining processing resources; and in response to current availability of sufficient remaining processing resources to enable a first neuromorphic performance of the analytical function with at least a subset of the sets of input values of the first data set through use of a neural network defined by at least a set of hyperparameters, and at least partly in parallel with the first non-neuromorphic performance; assign, as part of the first assignment, at least a portion of the remaining processing resources to the first neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the first neuromorphic performance relative to corresponding sets of output values generated by the first non-neuromorphic performance to determine a first degree of accuracy of the neural network in performing the analytical function; and in response to at least the first degree of accuracy exceeding a predetermined higher threshold, in response to receipt of a second request from a requesting device to perform the analytical function with a second data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a second neuromorphic performance of the analytical function with the second data set through use of the neural network, and with at least the predetermined level of throughput; assign, as part of a second assignment of processing resources, at least a portion of currently available processing resources to the second neuromorphic performance; after the assignment of processing resources to the second neuromorphic performance, analyze a state of remaining instruction-based processing resources currently available; and in response to current availability of sufficient remaining instruction-based processing resources to enable a second non-neuromorphic performance of the analytical function with at least a subset of the sets of input values of the second data set through execution of instructions implementing the analytical function by one or more processor cores, and at least partly in parallel with the second neuromorphic performance; assign, as part of the second assignment, at least a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the second neuromorphic performance relative to corresponding sets of output values generated by the second non-neuromorphic performance to determine a second degree of accuracy of the neural network in performing the analytical function; and in response to at least the second degree of accuracy exceeding the predetermined higher threshold, transmit the multiple sets of output values generated from the second data set by the second neuromorphic performance to the requesting device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
receiving, by a processor, a first request to perform an analytical function with a first data set comprising multiple sets of input values to generate multiple corresponding sets of output values; assigning, by the processor and as part of a first assignment of processing resources, at least a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of the analytical function with the first data set, and with at least a predetermined level of throughput, through execution of instructions implementing the analytical function by one or more processor cores; after the assignment of instruction-based processing resources to the first non-neuromorphic performance, analyzing, by the processor, a state of remaining processing resources; and in response to current availability of sufficient remaining processing resources to enable a first neuromorphic performance of the analytical function with at least a subset of the sets of input values of the first data set through use of a neural network defined by at least a set of hyperparameters, and at least partly in parallel with the first non-neuromorphic performance; assigning, by the processor and as part of the first assignment, at least a portion of the remaining processing resources to the first neuromorphic performance; analyzing, by the processor, the sets of output values generated from the subset of the sets of input values by the first neuromorphic performance relative to corresponding sets of output values generated by the first non-neuromorphic performance to determine a first degree of accuracy of the neural network in performing the analytical function; and in response to at least the first degree of accuracy exceeding a predetermined higher threshold, in response to receipt of a second request from a requesting device to perform the analytical function with a second data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a second neuromorphic performance of the analytical function with the second data set through use of the neural network, and with at least the predetermined level of throughput, performing operations comprising; assigning, by the processor and as part of a second assignment of processing resources, at least a portion of currently available processing resources to the second neuromorphic performance; after the assignment of processing resources to the second neuromorphic performance, analyzing, by the processor, a state of remaining instruction-based processing resources currently available; and in response to current availability of sufficient remaining instruction-based processing resources to enable a second non-neuromorphic performance of the analytical function with at least a subset of the sets of input values of the second data set through execution of instructions implementing the analytical function by one or more processor cores, and at least partly in parallel with the second neuromorphic performance, performing operations comprising; assigning, by the processor and as part of the second assignment, at least a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance; analyzing, by the processor, the sets of output values generated from the subset of the sets of input values by the second neuromorphic performance relative to corresponding sets of output values generated by the second non-neuromorphic performance to determine a second degree of accuracy of the neural network in performing the analytical function; and in response to at least the second degree of accuracy exceeding the predetermined higher threshold, transmitting, from the processor, the multiple sets of output values generated from the second data set by the second neuromorphic performance to the requesting device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification