Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit
First Claim
Patent Images
1. A free form expression executing hardware acceleration component, comprising:
- a plurality of hardware processing clusters, each hardware processing cluster comprising;
a first soft processing core comprising a first set of hardware threads;
a second soft processing core comprising a second set of hardware threads independent of the first set of hardware threads;
a functional circuit comprising one or more of a floating point divide circuit, a natural logarithm circuit, an exponent circuit, or a floating point-to-integer circuit; and
a software thread assignment processor that assigns some free form execution software threads to individual ones of the first set of hardware threads based on both a priority assigned to the individual ones of the first set of hardware threads and a length of the free form execution software threads, such that free form execution software threads having the length above a first threshold are assigned to hardware threads having a highest priority, and free form execution software threads having the length below a second threshold are assigned to hardware threads having a lowest priority, the second threshold being less than the first threshold;
wherein the first soft processing core shares the functional circuit with the second soft processing core;
wherein the free form expression executing hardware acceleration component receives feature values, from a remote hardware acceleration component acting as a head component, as input for free form expression processing performed by the free form expression executing hardware acceleration component; and
wherein further the free form expression executing hardware acceleration component is locally communicationally coupled to a first central processing unit that is remote from a second central processing unit, the second central processing unit invoking a service provided by the free form expression executing hardware acceleration component and the remote hardware acceleration component acting as the head component, the second central processing unit being locally communicationally coupled to the remote hardware acceleration component acting as the head component.
1 Assignment
0 Petitions
Accused Products
Abstract
A hardware acceleration component is provided that includes a plurality of hardware clusters, each hardware cluster comprising a plurality of soft processor cores and a functional circuit. The plurality of soft processor cores share the functional circuit.
81 Citations
17 Claims
-
1. A free form expression executing hardware acceleration component, comprising:
-
a plurality of hardware processing clusters, each hardware processing cluster comprising; a first soft processing core comprising a first set of hardware threads; a second soft processing core comprising a second set of hardware threads independent of the first set of hardware threads; a functional circuit comprising one or more of a floating point divide circuit, a natural logarithm circuit, an exponent circuit, or a floating point-to-integer circuit; and a software thread assignment processor that assigns some free form execution software threads to individual ones of the first set of hardware threads based on both a priority assigned to the individual ones of the first set of hardware threads and a length of the free form execution software threads, such that free form execution software threads having the length above a first threshold are assigned to hardware threads having a highest priority, and free form execution software threads having the length below a second threshold are assigned to hardware threads having a lowest priority, the second threshold being less than the first threshold; wherein the first soft processing core shares the functional circuit with the second soft processing core; wherein the free form expression executing hardware acceleration component receives feature values, from a remote hardware acceleration component acting as a head component, as input for free form expression processing performed by the free form expression executing hardware acceleration component; and wherein further the free form expression executing hardware acceleration component is locally communicationally coupled to a first central processing unit that is remote from a second central processing unit, the second central processing unit invoking a service provided by the free form expression executing hardware acceleration component and the remote hardware acceleration component acting as the head component, the second central processing unit being locally communicationally coupled to the remote hardware acceleration component acting as the head component. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of executing free form expressions on a free form expression executing hardware accelerator, the method comprising:
-
configuring a plurality of hardware processing clusters on the free form expression executing hardware accelerator to each comprise; a first soft processing core comprising a first set of hardware threads; a second soft processing core comprising a second set of hardware threads independent of the first set of hardware threads; a functional circuit comprising one or more of a floating point divide circuit, a natural logarithm circuit, an exponent circuit, or a floating point-to-integer circuit; and a software thread assignment processor that assigns some free form execution software threads to individual ones of the first set of hardware threads based on both a priority assigned to the individual ones of the first set of hardware threads and a length of the free form execution software threads, such that free form execution software threads having the length above a first threshold are assigned to hardware threads having a highest priority, and free form execution software threads having the length below a second threshold are is-assigned to hardware threads having a lowest priority, the second threshold being less than the first threshold; wherein the configuring the plurality of hardware processing clusters comprises configuring the first soft processing core to share the functional circuit with the second soft processing core; configuring the free form expression executing hardware accelerator to receive feature values, from a remote hardware acceleration component acting as a head component, as input for free form expression processing performed by the free form expression executing hardware accelerator; and locally communicationally coupling the free form expression executing hardware accelerator to a first central processing unit that is remote from a second central processing unit, the second central processing unit invoking a service provided by the free form expression executing hardware accelerator and the remote hardware acceleration component acting as the head component, the second central processing unit being locally communicationally coupled to the remote hardware acceleration component acting as the head component. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a first computing device comprising; a first central processing unit; and a free form expression executing hardware acceleration component comprising a plurality of hardware processing clusters, each hardware processing cluster comprising; a first soft processing core comprising a first set of hardware threads; a second soft processing core comprising a second set of hardware threads independent of the first set of hardware threads; a functional circuit comprising one or more of a floating point divide circuit, a natural logarithm circuit, an exponent circuit, or a floating point-to-integer circuit; and a software thread assignment processor that assigns some free form execution software threads to individual ones of the first set of hardware threads based on both a priority assigned to the individual ones of the first set of hardware threads and a length of the free form execution software threads, such that free form execution software threads having the length above a first threshold are assigned to hardware threads having a highest priority, and free form execution software threads having the length below a second threshold are assigned to hardware threads having a lowest priority, the second threshold being less than the first threshold; wherein the first soft processing core shares the functional circuit with the second soft processing core; and a second computing device separate from the first computing device, the second computing device comprising; a second central processing unit; and a hardware acceleration component acting as a head component; wherein the hardware acceleration component acting as the head component provides feature values as input for free form expression processing performed by the free form expression executing hardware acceleration component; and wherein further the second central processing unit invokes a service provided by the free form expression executing hardware acceleration component and the hardware acceleration component acting as the head component. - View Dependent Claims (14, 15, 16, 17)
-
Specification