Patent ID: 9575723
Date: 2017-02-21
CPC Classifications: G06F

Claim:
1. A method for performing a data manipulation function by a computer system, the method comprising: receiving, by a processor of the computer system, a request from an application to perform the data manipulation function, wherein the computer system includes an operating system comprising a software library having an algorithm configured to perform the data manipulation function and a specialized hardware device configured to perform the data manipulation function; based on determining that the specialized hardware device configured to perform the data manipulation function is available, determining if executing the request on the specialized hardware device is viable by determining if an overhead associated with sending the request to the specialized hardware device outweighs a cost of executing the request by executing the algorithm configured to perform the data manipulation function stored in the software library, wherein determining if executing the request on the specialized hardware device is viable further comprises determining if a size of data associated with the request is larger than an adjustable threshold size for deciding between using the algorithm configured to perform the data manipulation function and the specialized hardware device, and wherein the adjustable threshold size is set by the algorithm configured to perform the data manipulation function and is used for determining if executing the request on the specialized hardware device is viable rather than using a threshold provided by the specialized hardware device; based on determining that executing the request on the specialized hardware device is viable, executing the request on the specialized hardware device; and based on determining that executing the request on the specialized hardware device is not viable, executing the request by executing the algorithm configured to perform the data manipulation function stored in the software library.