US 12,223,319 B2
Microkernel-based software optimization of neural networks
Victor Jakubiuk, San Francisco, CA (US); and Sebastian Kaczor, Poznan (PL)
Assigned to OnSpecta, Inc., Redwood City, CA (US)
Filed by OnSpecta, Inc., Redwood City, CA (US)
Filed on Jul. 7, 2023, as Appl. No. 18/219,535.
Application 18/219,535 is a continuation of application No. 17/204,878, filed on Mar. 17, 2021, granted, now 11,720,351.
Claims priority of provisional application 62/990,496, filed on Mar. 17, 2020.
Prior Publication US 2023/0350673 A1, Nov. 2, 2023
Int. Cl. G06F 8/40 (2018.01); G06F 8/41 (2018.01); G06F 9/22 (2006.01); G06N 3/04 (2023.01); G06N 3/08 (2023.01); G06F 9/54 (2006.01)
CPC G06F 9/223 (2013.01) [G06F 8/41 (2013.01); G06N 3/04 (2013.01); G06N 3/08 (2013.01); G06F 9/541 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method for providing a software implementation of an Artificial Intelligence (AI) network, comprising:
detecting one or more hardware components which will be used to execute the AI network;
receiving a plurality of operations comprising instructions for the AI network;
receiving, from a database of stored microkernels for various hardware components, a plurality of microkernels implementing instructions for the detected one or more hardware components used to execute the AI network;
generating a kernel for each operation by selecting one or more microkernels of the plurality of microkernels to be invoked by the kernel, wherein each kernel is a hardware-independent software implementation of the operation within the AI network and the kernel includes a plurality of functions that convert software code to run on a given hardware platform, and wherein each selected microkernel comprises a hardware-specific instruction set; and
causing execution of the AI network using the generated kernel.