The present systems and methods leverage aspects of GPU architecture to improve the operational efficiency of the GPU.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for testing and selecting graphics processing unit (GPU) kernels for operation on a graphics processing unit (GPU) for investigation of datasets, the method comprising: identifying a set of complementary GPU kernels; testing, by operation of a GPU, performance of the complementary GPU kernels on selected datasets, wherein the testing is for a plurality of different parameter values of the selected datasets; determining, from among the tested GPU kernels, a set of α-kernels, wherein a kernel is labeled as an α-kernel if and only if it achieves the best performance among all tested kernels for at least one set of parameter values; writing the test results to an electronic table or file that records (i) the set of α-kernels discovered and (ii) the best α-kernel for each set of parameter values tested, such that already-tested kernel and parameter combinations do not have to be tested again on the same GPU hardware; determining, by use of an intelligent selection algorithm, at least one best α-kernel from among the set of α-kernels, wherein the determining by the intelligent selection algorithm includes selecting the at least one best α-kernel based on the parameter values of the selected datasets; and applying the at least one best α-kernel on the GPU. 2. The method of claim 1 wherein the testing of the complementary GPU kernels to determine the set of α-kernels, includes at least one of enumerating and sampling an argument space to which a relative performance of one of the set of the GPU kernels is sensitive. 3. The method of claim 2 further including performing the testing by use of multiple GPUs to speed up at least one of the enumeration and sampling process. 4. The method of claim 2 wherein the testing includes testing for multiple performance objectives. 5. The method of claim 4 further including performing the testing by use of multiple GPUs to speed up at least one of an enumeration and a sampling process. 6. The method of claim 1 further including picking or limiting the determined α-kernels to the at least one best α-kernel by using a minimum-resident-blocks-per-SM rule. 7. The method of claim 1 further including expressing kernel selection strategies as declarative kernel selection rules, which map a set of problem-instance arguments to a unique id, name, or a set of uniquely-identifying features of the at least one best α-kernel. 8. The method of claim 1 further including handling missing rules by using an argument distance function to compute a nearest rule in a rule database. 9. The method of claim 6 further including picking the at least one best α-kernel using rule-based smart kernels. 10. The method of claim 7 further including picking the at least one best α-kernel using rule-based smart kernels. 11. The method of claim 8 further including picking the at least one best α-kernel using rule-based smart kernels. 12. The method of claim 1 wherein the determining of the at least one best α-kernel includes using on-line smart kernels obtained by testing a speed of every α-kernel on a test problem and then running a fastest α-kernel identified on an original problem. 13. The method of claim 1 further including computing an exact maximum scaling factor and using the maximum scaling factor to decide whether on-line smart kernels are better than randomly selected kernels by comparing a test problem created by the maximum scaling factor against a minimum test problem size. 14. The method of claim 1 further including estimating a maximum scaling factor and using the scaling factor to decide whether on-line smart kernels are better than randomly selected kernels by comparing a test problem created by the scaling factor against a minimum test problem size. 15. The method of claim 1 further including picking the at least one best α-kernel using hybrid smart kernels, wherein the hybrid smart kernels are formed by combining rule-based smart kernels with on-line smart kernels to create an on-line rule database that learns new rules for novel problem instances but executes old rules whenever the old rules are applicable. 16. The method according to claim 1 wherein the intelligent selection algorithm applies a fixed kernel as the at least one best α-kernel on the GPU. 17. The method according to claim 1 further including using streams of data, wherein the streams of data includes a sequence of operations executed on the GPU in an order in which the data is received by the GPU in the same queue, wherein the streams of data permit an overlap of data transfer with computation performed by at least one of the GPU and an associated central processing unit (CPU). 18. A graphics processing unit (GPU) based system comprising: an electronic based memory configured to store a set of GPU kernels, wherein the set of GPU kernels is for a problem instance to be solved; an electronically stored dataset; a graphics processing unit (GPU) used in an identification of α-kernels of the set of GPU kernels for problem instances of a problem to be solved, and further configured to have applied at least one best α-kernel from the set of α-kernels, wherein the at least one best α-kernel is determined by use of an intelligent selection algorithm and wherein the at least one best α-kernel is in a form including at least one of (i) rule-based smart kernels, (ii) on-line smart kernels, and (iii) hybrid smart kernels. 19. The system of claim 17 further including a central processing unit (CPU) configured to communicate with the GPU and configured to apply the α-kernels and the α-kernels CPU equivalents 20. The system of claim 17 wherein the GPU kernels are configured to perform actions to at least one of (i) solve data mining problems and (ii) perform machine learning operations. 21. The system of claim 18 wherein the GPU kernels are configured to perform actions to at least one of (i) solve data mining problems and (ii) perform machine learning operations. 22. A method for testing and selecting graphics processing unit (GPU) kernels for operation on a graphics processing unit (GPU) for investigation of datasets, the method comprising: identifying a set of complementary GPU kernels; testing, by operation of a GPU, performance of the complementary GPU kernels on selected datasets, wherein the testing is for a plurality of different parameter values of the selected datasets; determining, from among the tested GPU kernels, a set of α-kernels, wherein a kernel is labeled as an α-kernel if and only if it achieves the best performance among all tested kernels for at least one set of parameter values; writing the test results to an electronic table or file that records (i) the set of α-kernels discovered and (ii) the best α-kernel for each set of parameter values tested, such that already-tested kernel and parameter combinations do not have to be tested again on the same GPU hardware; determining, by use of an intelligent selection algorithm, at least one best α-kernel from among the set of α-kernels; and applying the at least one best α-kernel on the GPU, wherein the at least one best α-kernel is in a form including one of (i) rule-based smart kernels, (ii) on-line smart kernels, and (iii) hybrid smart kernels. 23. A method for testing and selecting graphics processing unit (GPU) kernels for operation on a graphics processing unit (GPU), the method comprising: identifying a set of complementary GPU kernels; testing, by operation of a GPU, performance of the complementary GPU kernels on selected test datasets, wherein the testing is for a plurality of different parameter values of the selected test datasets; determining, from among the tested GPU kernels, a set of α-kernels, wherein a kernel is labeled as an α-kernel if and only if it achieves the best performance among all tested kernels for at least one set of parameter values; writing the test results to an electronic table or file that records (i) the set of α-kernels discovered and (ii) the best α-kernel for each set of parameter values tested, such that already-tested kernel and parameter combinations do not have to be tested again on the same GPU hardware. 24. The method of claim 23 further including; reading in the test results previously written to the electronic table or file; applying the test results to an intelligent selection algorithm configured to operate on problem datasets; determining, by use of the intelligent selection algorithm, at least one best α-kernel from among the set of α-kernels previously tested, wherein the determining by the intelligent selection algorithm includes selecting the at least one best α-kernel based on the parameter values of to be problem datasets; and applying the at least one best α-kernel on the GPU to solve the problem datasets.