| 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 |

|
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.
|