ACM Transactions on Architecture and Code Optimization · 2016 · 14 citations · 47 references
ComputingComputer EngineeringComputer ScienceFeature EngineeringOptimizationParallel ComputingAlgorithm AnalysisData ParallelismMatrix ComputationNumerical Linear AlgebraParallel Numerical Linear AlgebraPerformance OptimizationMatrix MultiplicationParallel Matrix FactorizationRuntime SpecializationSparse Linear AlgebraSparse Matrix AlgorithmsSparse Matrix ComputationSparse Matrix Techniques
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.
47
Scikit-learn: Machine Learning in Python
Fabián Pedregosa, Gaël Varoquaux, Alexandre Gramfort et al. · arXiv (Cornell University) · 2012 · 63.7K citations · Full text
Scikit-learn: Machine Learning in Python
PedregosaFabian, VaroquauxGaël, GramfortAlexandre et al. · Journal of Machine Learning Research · 2011 · 8.2K citations