| CPC G06F 9/545 (2013.01) [G06F 9/30134 (2013.01); G06F 9/3802 (2013.01); G06F 9/44594 (2013.01); G06F 9/4806 (2013.01)] | 20 Claims |

|
1. A system comprising:
a host device; and
a storage device comprising:
a processor;
a dynamic random-access memory (DRAM), the DRAM comprising one or more data buffers and a handshake region to store arguments received from the host device; and
a bridge device, the bridge device being configured to:
fetch arguments from a host register interface of the host device;
initiate execution, at the processor, of a kernel at the processor based on the arguments, the kernel being selected from a plurality of kernels available in the processor based on determining that a performance metric of the kernel satisfies a threshold and based on a cost function determined based on the arguments and storage or networking parameters received from the host device; transfer the arguments received from the host device to the kernel for data processing;
fetch new arguments in the handshake region of the DRAM; and
call the kernel in the processor with the new arguments for data processing,
wherein the kernel is configured to return the call to the bridge device based on completion of the data processing; and
wherein a done flag is polled in the DRAM based on the completion of the data processing.
|