Runtime specialization optimizes programs based on partial information available only at run time. It is applicable when some input data is used repeatedly while other input data varies. This technique has the potential of generating highly efficient codes.In this paper, we explore the potential for obtaining speedups for sparse matrix-dense vector multiplication using runtime specialization, in the case where a single matrix is to be multiplied by many vectors. We experiment with five methods involving runtime specialization, comparing them to methods that do not (including Intel's MKL library). For this work, our focus is the evaluation of the speedups that can be obtained with runtime specialization without considering the overheads of the code generation.Our experiments use 23 matrices from the Matrix Market and Florida collections, and run on five different machines. In 94 of those 115 cases, the specialized code runs faster than any version without specialization. If we only use specialization, the average speedup with respect to Intel's MKL library ranges from 1.44x to 1.77x, depending on the machine. We have also found that the best method depends on the matrix and machine; no method is best for all matrices and machines.
Runtime specialization is used for optimizing programs based on partial information available only at runtime. In this paper we apply autotuning on runtime specialization of Sparse Matrix-Vector Multiplication to predict a best specialization method among several. In 91% to 96% of the predictions, either the best or the second-best method is chosen. Predictions achieve average speedups that are very close to the speedups achievable when only the best methods are used. By using an efficient code generator and a carefully designed set of matrix features, we show the runtime costs can be amortized to bring performance benefits for many real-world cases.
Linear Linkage Encoding (LLE) is a powerful encoding scheme utilized when genetic algorithms (GAs) are applied to grouping problems. It discards the redundancy of other traditional encoding schemes. However, some genetic operators are quite costly in terms of computational time when LLE is utilized. In this study, two supplementary encoding schemes Linear Linkage Encoding with Ending Node Links (LLE-e) and Linear Linkage Encoding with Backward Links (LLE-b) are designed and used together with LLE. When a genetic operator is costly in LLE, the operation is carried out on one of the supplementary encodings and the result is reflected back to LLE. The algorithm is implemented in a Multi Objective Genetic Algorithm (MOGA) framework and various tests are carried out on Graph coloring Problem (GCP) instances obtained from DIMACS Challenge Suite. A performance improvement has been obtained when both supplementary encoding schemes are included in the algorithm.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.