IP Library Granted Patent US 12699605
Granted Patent B2
US 12699605 · App. 18/568,328 · Granted Aug 4, 2026

Concept for providing access to offloading circuitry

Inventors: Ziye Yang (Shanghai, CN); Paul Luse (Chandler, AZ); James Harris (Chandler, AZ); Benjamin Walker (Chandler, AZ)
Assignee: Intel Corporation
G06F9/545
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 12699605
App. No.
18/568,328
Granted
Aug 4, 2026
Kind
B2
Abstract

Examples relate to an apparatus, device, method, and computer program for providing access to offloading circuitry of a computer system, to a method and computer program for setting up access to offloading circuitry of a computer system, and to corresponding computer systems. The apparatus comprises circuitry configured to provide a common interface for accessing offloading circuitry of the computer system from one or more software applications. The circuitry is configured to select one of a kernel-space driver and a user-space driver for accessing the offloading circuitry. The circuitry is configured to provide the access to the offloading circuitry for the one or more software applications via the selected driver at runtime.

Claims (29)

1 . An apparatus for a computer system, the apparatus comprising interface circuitry and processing circuitry to:

provide a common interface for accessing offloading circuitry of the computer system from one or more software applications;

select one of a kernel-space driver and a user-space driver for accessing the offloading circuitry; and

provide the access to the offloading circuitry for the one or more software applications via the selected driver at runtime.

2 . The apparatus according to claim 1 , wherein the processing circuitry is to obtain an instruction related to the selection of the respective driver, and to select the driver according to the instruction.

3 . The apparatus according to claim 2 , wherein the processing circuitry is to obtain the instruction related to the selection of the respective driver from a user via a management software application being executed on the computer system.

4 . The apparatus according to claim 1 , wherein the processing circuitry is to configure the access to the offloading circuitry based on the selected driver.

5 . The apparatus according to claim 1 , wherein the processing circuitry is to provide the common interface with at least one of a first application programming interface for managing the common interface and/or the offloading circuitry and a second application programming interface for exchanging data with the offloading circuitry.

6 . The apparatus according to claim 5 , wherein the second application programming interface is configured to provide access to one or more working queues of the offloading circuitry.

7 . The apparatus according to claim 5 , wherein the second application programming interface is configured to provide access to the offloading circuitry via memory-mapped input/output managed by the respective driver.

8 . The apparatus according to claim 1 , wherein the processing circuitry is to translate instructions provided by the one or more software applications depending on the driver being selected.

9 . The apparatus according to claim 8 , wherein the processing circuitry is to translate instructions related to management of the common interface and/or of the computation offloading device to instructions for accessing user-space-accessible memory associated with the user-space driver if the user-space driver is selected.

10 . The apparatus according to claim 8 , wherein the processing circuitry is to translate instructions related to management of the common interface and/or of the computation offloading device to system calls if the kernel-space driver is selected.

11 . The apparatus according to claim 1 , wherein the common interface is provided in user-space.

12 . The apparatus according to claim 1 , wherein the common interface is configured to provide concurrent access for multiple software applications if the kernel-space driver is selected and to limit access to a single software application if the user-space driver is selected.

13 . The apparatus according to claim 1 , wherein the one or more software applications comprise at least one of a software container and a virtual machine.

14 . The apparatus according to claim 1 , wherein the offloading circuitry is included in a central processing unit of the computer system.

15 . The apparatus according to claim 1 , wherein the offloading circuitry is one of computation offloading circuitry, data access offloading circuitry and input/output access offloading circuitry.

16 . A computer system comprising the apparatus according to claim 1 and the offloading circuitry.

17 . A method for a computer system, the method comprising:

providing a common interface for accessing offloading circuitry of the computer system from one or more software applications;

selecting one of a kernel-space driver and a user-space driver for accessing the offloading circuitry; and

providing the access to the offloading circuitry for the one or more software applications via the selected driver at runtime.

18 . A machine-readable storage medium including program code, when executed, to cause a machine to perform the method according to claim 17 .

19 . A method for setting up access to offloading circuitry in a computer system, the method comprising:

selecting one of a kernel-space driver and a user-space driver for accessing the offloading circuitry;

configuring the access to the offloading circuitry based on the selected driver;

providing access to the offloading circuitry via a common interface, with the common interface being used to access the offloading circuitry via the selected driver.

20 . A machine-readable storage medium including program code, when executed, to cause a machine to perform the method according to claim 19 .