1. A computer-executable method for performing a general matrix-matrix multiplication (GEMM) operation on a graphics processing unit (GPU), comprising: generating, by computer, a plurality of kernels, wherein a respective kernel of the plurality of kernels is a function compiled for execution on the GPU; maintaining a plurality of rules, wherein a respective rule of the plurality of rules includes a mapping between dimensional parameters, which includes a number of rows and columns of a respective first matrix and a number of columns of a respective second matrix, and a corresponding kernel, wherein the mapping indicates that the corresponding kernel can perform the GEMM operation faster than any other kernel in the plurality of kernels for the dimensional parameters in the mapping; storing data associated with two matrices in a memory of the computer based on at least a row-major order or a column-major order with at least one row or column having no adjacent storage padding, wherein an adjacent storage padding is a set of bits for aligning a start address of the row or column, thereby reducing memory usage on the computer; determining a first set of dimensional parameters of the two matrices; loading a kernel from the plurality of kernels on the GPU for performing the GEMM operation on the GPU by looking up the first set of dimensional parameters in the plurality of rules; and executing the loaded kernel on the GPU using the two matrices stored in the memory as parameters, thereby performing the GEMM operation on the two matrices.