IP Library › Granted Patent US 10,877,817
Granted Patent B1
US 10,877,817 · App. 16/456,995 · Granted Dec 29, 2020

Technologies for providing inter-kernel application programming interfaces for an accelerated architecture

Inventors: Susanne M. Balle (Hudson, NH); Francesc Guim Bernat (Barcelona, ES); Slawomir Putyrski (Gdynia, PL); Evan Custodio (North Attleboro, MA)
Assignee: Intel Corporation
G06F9/54G06F9/3851G06F9/5027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,877,817
App. No.
16/456,995
Granted
Dec 29, 2020
Kind
B1
Abstract

Technologies for providing inter-kernel communication application programming interfaces (API) include an orchestrator device comprising circuitry to receive a request to allocate one or more accelerator resources to a given workload. The circuitry is also configured to identify one or more kernel bit streams in the accelerator resources used to perform the workload. The circuitry is configured to determine, from the identified one or more kernel bit streams, an inter-kernel communication topology and configure the identified one or more kernel bit streams according to the inter-kernel communication topology.

Claims (47)

1. An orchestrator device comprising:

circuitry to:

receive a request to allocate one or more of a plurality of accelerator resources to a given workload;

identify one or more kernel bit streams in the plurality of accelerator resources used to perform the workload;

validate, for each of the identified one or more kernel bit streams, a digital signature of the kernel bit stream;

determine, from the identified one or more kernel bit streams, an inter-kernel communication topology; and

configure the identified one or more kernel bit streams according to the inter-kernel communication topology.

2. The orchestrator device of claim 1 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive, via an inter-kernel application programming interface (API), a request to allocate one or more of the kernel bit streams to enable one or more accelerator devices to perform a corresponding type of workload, each kernel bit stream including metadata indicative of configuration parameters for the inter-kernel communication topology.

3. The orchestrator device of claim 2 , wherein to identify the one or more kernel bit streams in the plurality of accelerator resources used to perform the workload comprises to evaluate the metadata of each kernel to determine the inter-kernel communication topology.

4. The orchestrator device of claim 1 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive a request specifying one or more accelerator devices, accelerator device slots, or intercommunication channels for configuration for the inter-kernel communication topology.

5. The orchestrator device of claim 1 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive a request specifying one or more quality-of-service (QoS) parameters to associate with the allocated one or more of the plurality of accelerator resources.

6. The orchestrator device of claim 1 , wherein to configure the identified one or more kernel bit streams according to the inter-kernel communication topology comprises to configure accelerator devices identified in the inter-kernel communication topology with the kernel bit streams.

7. The orchestrator device of claim 1 , wherein the circuitry is further to:

receive a request to retrieve configuration information for the inter-kernel communication topology;

identify one or more accelerator devices assigned to the workload;

identify a kernel-to-kernel configuration across the identified one or more accelerator devices assigned to the workload; and

present, in response to the request to retrieve the configuration information, the identified kernel-to-kernel configuration.

8. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, causes an orchestrator device to:

receive a request to allocate one or more of a plurality of accelerator resources to a given workload;

identify one or more kernel bit streams in the plurality of accelerator resources used to perform the workload;

validate, for each of the identified one or more kernel bit streams, a digital signature of the kernel bit stream;

determine, from the identified one or more kernel bit streams, an inter-kernel communication topology; and

configure the identified one or more kernel bit streams according to the inter-kernel communication topology.

9. The one or more non-transitory machine-readable storage media of claim 8 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive, via an inter-kernel application programming interface (API), a request to allocate one or more of the kernel bit streams to enable one or more accelerator devices to perform a corresponding type of workload, each kernel bit stream including metadata indicative of configuration parameters for the inter-kernel communication topology.

10. The one or more non-transitory machine-readable storage media of claim 9 , wherein to identify the one or more kernel bit streams in the plurality of accelerator resources used to perform the workload comprises to evaluate the metadata of each kernel to determine the inter-kernel communication topology.

11. The one or more non-transitory machine-readable storage media of claim 8 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive a request specifying one or more accelerator devices, accelerator device slots, or intercommunication channels for configuration for the inter-kernel communication topology.

12. The one or more non-transitory machine-readable storage media of claim 8 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive a request specifying one or more quality-of-service (QoS) parameters to associate with the allocated one or more of the plurality of accelerator resources.

13. The one or more non-transitory machine-readable storage media of claim 8 , wherein to configure the identified one or more kernel bit streams according to the inter-kernel communication topology comprises to configure accelerator devices identified in the inter-kernel communication topology with the kernel bit streams.

14. The one or more non-transitory machine-readable storage media of claim 8 , wherein the plurality of instructions further causes the orchestrator device to:

receive a request to retrieve configuration information for the inter-kernel communication topology;

identify one or more accelerator devices assigned to the workload;

identify a kernel-to-kernel configuration across the identified one or more accelerator devices assigned to the workload; and

present, in response to the request to retrieve the configuration information, the identified kernel-to-kernel configuration in response.

15. A method comprising:

receiving a request to allocate one or more of a plurality of accelerator resources to a given workload;

identifying one or more kernel bit streams in the plurality of accelerator resources used to perform the workload;

validating, for each of the one or more identified kernel bit streams, a digital signature of the kernel bit stream;

determining, from the identified one or more kernel bit streams, an inter-kernel communication topology; and

configuring the identified one or more kernel bit streams according to the inter-kernel communication topology.

16. The method of claim 15 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive, via an inter-kernel application programming interface (API), a request to allocate one or more of the kernel bit streams to enable one or more accelerator devices to perform a corresponding type of workload, each kernel bit stream including metadata indicative of configuration parameters for the inter-kernel communication topology.

17. The method of claim 16 , wherein to identify the one or more kernel bit streams in the plurality of accelerator resources used to perform the workload comprises to evaluate the metadata of each kernel to determine the inter-kernel communication topology.

18. The method of claim 15 , wherein to receive the request to allocate one or more of the plurality of accelerator resources to the given workload comprises to receive a request specifying one or more accelerator devices, accelerator device slots, and intercommunication channels for configuration for the inter-kernel communication topology.

19. The method of claim 15 , further comprising:

receiving a request to retrieve configuration information for the inter-kernel communication topology;

identifying one or more accelerator devices assigned to the workload;

identifying a kernel-to-kernel configuration across the identified one or more accelerator devices assigned to the workload; and

presenting, in response to the request to retrieve the configuration information, the identified kernel-to-kernel configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2020
From: BALLE, SUSANNE M.; BERNAT, FRANCESC GUIM; PUTYRSKI, SLAWOMIR; CUSTODIO, EVAN
To: INTEL CORPORATION
Reel/Frame 053898/0787 →
Cited By (1)
US 12,705,061