{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,9,26]],"date-time":"2026-09-26T03:05:19Z","timestamp":1790391919740,"version":"4.1.0"},"publisher-location":"Cham","reference-count":46,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319527086","type":"print"},{"value":"9783319527093","type":"electronic"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1007\/978-3-319-52709-3_17","type":"book-chapter","created":{"date-parts":[[2017,1,23]],"date-time":"2017-01-23T07:13:25Z","timestamp":1485155605000},"page":"218-232","source":"Crossref","is-referenced-by-count":2,"title":["Optimizing LOBPCG: Sparse Matrix Loop and Data Transformations in Action"],"prefix":"10.1007","author":[{"given":"Khalid","family":"Ahmad","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Anand","family":"Venkat","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mary","family":"Hall","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2017,1,24]]},"reference":[{"key":"17_CR1","doi-asserted-by":"crossref","DOI":"10.1137\/1.9780898718003","volume-title":"Iterative Methods for Sparse Linear Systems","author":"Y Saad","year":"2003","unstructured":"Saad, Y.: Iterative Methods for Sparse Linear Systems. SIAM, Philadelphia (2003)"},{"issue":"2","key":"17_CR2","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1016\/j.ipl.2004.01.014","volume":"90","author":"E Montagne","year":"2004","unstructured":"Montagne, E., Ekambaram, A.: An optimal storage format for sparse matrices. Inf. Process. Lett. 90(2), 87\u201392 (2004)","journal-title":"Inf. Process. Lett."},{"key":"17_CR3","doi-asserted-by":"crossref","unstructured":"Bell, N., Garland, M.: Implementing sparse matrix-vector multiplication on throughput-oriented processors. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, p. 18. ACM (2009)","DOI":"10.1145\/1654059.1654078"},{"key":"17_CR4","volume-title":"Optimizing the Performance of Sparse Matrix-Vector Multiplication","author":"E-J Im","year":"2000","unstructured":"Im, E.-J., Yelick, K.A.: Optimizing the Performance of Sparse Matrix-Vector Multiplication. University of California, Berkeley (2000)"},{"key":"17_CR5","unstructured":"Anzt, H., Tomov, S., Dongarra, J.: Implementing a sparse matrix vector product for the sell-C\/sell-C- $$\\sigma $$ formats on NVIDIA GPUs"},{"key":"17_CR6","unstructured":"Kreutzer, M., Hager, G., Wellein, G., Fehske, H., Bishop, A.R.: A unified sparse matrix data format for modern processors with wide SIMD units (2013). arXiv preprint arXiv:1307.6209"},{"issue":"5","key":"17_CR7","doi-asserted-by":"crossref","first-page":"S209","DOI":"10.1137\/120883153","volume":"35","author":"D Lowell","year":"2013","unstructured":"Lowell, D., Godwin, J., Holewinski, J., Karthik, D., Choudary, C., Mametjanov, A., Norris, B., Sabin, G., Sadayappan, P., Sarich, J.: Stencil-aware GPU optimization of iterative solvers. SIAM J. Sci. Comput. 35(5), S209\u2013S228 (2013)","journal-title":"SIAM J. Sci. Comput."},{"issue":"5","key":"17_CR8","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1145\/1837853.1693471","volume":"45","author":"JW Choi","year":"2010","unstructured":"Choi, J.W., Singh, A., Vuduc, R.W.: Model-driven autotuning of sparse matrix-vector multiply on GPUs. ACM SIGPLAN Not. 45(5), 115\u2013126 (2010)","journal-title":"ACM SIGPLAN Not."},{"key":"17_CR9","doi-asserted-by":"crossref","unstructured":"Williams, S., Bell, N., Choi, J., Garland, M., Oliker, L., Vuduc, R.: Sparse matrix-vector multiplication on multicore and accelerators. In: Scientific Computing with Multicore and Accelerators, pp. 83\u2013109 (2010)","DOI":"10.1201\/b10376-8"},{"key":"17_CR10","doi-asserted-by":"crossref","unstructured":"Ancourt, C., Irigoin, F.: Scanning polyhedra with DO loops. In: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991","DOI":"10.1145\/109625.109631"},{"key":"17_CR11","unstructured":"Kelly, W.A.: Optimization within a unified transformation framework. Ph.D. dissertation, University of Maryland, December 1996"},{"issue":"5","key":"17_CR12","doi-asserted-by":"crossref","first-page":"469","DOI":"10.1023\/A:1007554627716","volume":"28","author":"F Quiller\u00e9","year":"2000","unstructured":"Quiller\u00e9, F., Rajopadhye, S.: Generation of efficient nested loops from polyhedra. Int. J. Parallel Program. 28(5), 469\u2013498 (2000)","journal-title":"Int. J. Parallel Program."},{"key":"17_CR13","doi-asserted-by":"crossref","unstructured":"Vasilache, N., Bastoul, C., Cohen, A.: Polyhedral code generation in the real world. In: Proceedings of the 15th International Conference on Compiler Construction, March 2006","DOI":"10.1007\/11688839_16"},{"key":"17_CR14","doi-asserted-by":"crossref","unstructured":"Chen, C.: Polyhedra scanning revisited. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2012, pp. 499\u2013508, June 2012","DOI":"10.1145\/2254064.2254123"},{"key":"17_CR15","doi-asserted-by":"crossref","unstructured":"Venkat, A., Hall, M., Strout, M.: Loop and data transformations for sparse matrix code. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (2015)","DOI":"10.1145\/2737924.2738003"},{"key":"17_CR16","doi-asserted-by":"crossref","unstructured":"Aktulga, H.M., Buluc, A., Williams, S., Yang, C.: Optimizing sparse matrix-multiple vectors multiplication for nuclear configuration interaction calculations. In: 2014 IEEE 28th International Parallel and Distributed Processing Symposium, pp. 1213\u20131222. IEEE (2014)","DOI":"10.1109\/IPDPS.2014.125"},{"issue":"16","key":"17_CR17","doi-asserted-by":"crossref","first-page":"2652","DOI":"10.1002\/cpe.3152","volume":"26","author":"I Yamazaki","year":"2013","unstructured":"Yamazaki, I., Dong, T., Solc\u00e0, R., Tomov, S., Dongarra, J., Schulthess, T.: Tridiagonalization of a dense symmetric matrix on multiple GPUs and its application to symmetric eigenvalue problems. Concurr. Comput.: Pract. Exp. 26(16), 2652\u20132666 (2013)","journal-title":"Concurr. Comput.: Pract. Exp."},{"issue":"6","key":"17_CR18","doi-asserted-by":"crossref","first-page":"280","DOI":"10.1016\/j.parco.2012.04.001","volume":"39","author":"I Yamazaki","year":"2013","unstructured":"Yamazaki, I., Tadano, H., Sakurai, T., Ikegami, T.: Performance comparison of parallel eigensolvers based on a contour integral method and a Lanczos method. Parallel Comput. 39(6), 280\u2013290 (2013)","journal-title":"Parallel Comput."},{"issue":"2","key":"17_CR19","doi-asserted-by":"crossref","first-page":"279","DOI":"10.1007\/s11075-012-9564-z","volume":"60","author":"C Campos","year":"2012","unstructured":"Campos, C., Roman, J.E.: Strategies for spectrum slicing based on restarted Lanczos methods. Numer. Algorithms 60(2), 279\u2013295 (2012)","journal-title":"Numer. Algorithms"},{"issue":"8","key":"17_CR20","doi-asserted-by":"crossref","first-page":"2828","DOI":"10.1016\/j.laa.2011.07.020","volume":"436","author":"K Meerbergen","year":"2012","unstructured":"Meerbergen, K., Vandebril, R.: A reflection on the implicitly restarted Arnoldi method for computing eigenvalues near a vertical line. Linear Algebra Appl. 436(8), 2828\u20132844 (2012)","journal-title":"Linear Algebra Appl."},{"issue":"5","key":"17_CR21","doi-asserted-by":"crossref","first-page":"3037","DOI":"10.1137\/100799265","volume":"33","author":"RB Morgan","year":"2011","unstructured":"Morgan, R.B., Nicely, D.A.: Restarting the nonsymmetric Lanczos algorithm for eigenvalues and linear equations including multiple right-hand sides. SIAM J. Sci. Comput. 33(5), 3037\u20133056 (2011)","journal-title":"SIAM J. Sci. Comput."},{"issue":"3","key":"17_CR22","doi-asserted-by":"crossref","first-page":"873","DOI":"10.1016\/j.camwa.2010.05.034","volume":"60","author":"W Jiang","year":"2010","unstructured":"Jiang, W., Wu, G.: A thick-restarted block Arnoldi algorithm with modified Ritz vectors for large eigenproblems. Comput. Math. Appl. 60(3), 873\u2013889 (2010)","journal-title":"Comput. Math. Appl."},{"issue":"5","key":"17_CR23","doi-asserted-by":"crossref","first-page":"1608","DOI":"10.1137\/040608088","volume":"27","author":"AH Baker","year":"2006","unstructured":"Baker, A.H., Dennis, J.M., Jessup, E.R.: On improving linear solver performance: a block variant of GMRES. SIAM J. Sci. Comput. 27(5), 1608\u20131626 (2006)","journal-title":"SIAM J. Sci. Comput."},{"key":"17_CR24","doi-asserted-by":"crossref","DOI":"10.1137\/1.9780898719581","volume-title":"Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide","author":"Z Bai","year":"2000","unstructured":"Bai, Z., Demmel, J., Dongarra, J., Ruhe, A., van der Vorst, H.: Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide, vol. 11. SIAM, Philadelphia (2000)"},{"issue":"9","key":"17_CR25","doi-asserted-by":"crossref","first-page":"2183","DOI":"10.2514\/1.J052113","volume":"51","author":"X Pinel","year":"2013","unstructured":"Pinel, X., Montagnac, M.: Block Krylov methods to solve adjoint problems in aerodynamic design optimization. AIAA J. 51(9), 2183\u20132191 (2013)","journal-title":"AIAA J."},{"key":"17_CR26","unstructured":"Bell, N., Garland, M.: Efficient sparse matrix-vector multiplication on CUDA. Nvidia technical report NVR-2008-004, Nvidia Corporation (2008)"},{"key":"17_CR27","doi-asserted-by":"crossref","unstructured":"Mirchandaney, R., Saltz, J.H., Smith, R.M., Nico, D.M., Crowley, K.: Principles of runtime support for parallel processors. In: Proceedings of the 2nd International Conference on Supercomputing, pp. 140\u2013152 (1988)","DOI":"10.1145\/55364.55378"},{"key":"17_CR28","doi-asserted-by":"crossref","unstructured":"Rauchwerger, L., Padua, D.: The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 1995 (1995)","DOI":"10.1145\/207110.207148"},{"key":"17_CR29","doi-asserted-by":"crossref","unstructured":"Ravishankar, M., Eisenlohr, J., Pouchet, L.-N., Ramanujam, J., Rountev, A., Sadayappan, P.: Code generation for parallel execution of a class of irregular loops on distributed memory systems. In: Proceedings of SC 2012, November 2012","DOI":"10.1109\/SC.2012.30"},{"key":"17_CR30","doi-asserted-by":"crossref","unstructured":"Basumallik, A., Eigenmann, R.: Optimizing irregular shared-memory applications for distributed-memory systems. In: Proceedings of the Symposium on Principles and Practice of Parallel Programming (2006)","DOI":"10.1145\/1122971.1122990"},{"key":"17_CR31","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1016\/S0065-2458(08)60707-X","volume":"45","author":"J Saltz","year":"1997","unstructured":"Saltz, J., Chang, C., Edjlali, G., Hwang, Y.-S., Moon, B., Ponnusamy, R., Sharma, S., Sussman, A., Uysal, M., Agrawal, G., Das, R., Havlak, P.: Programming irregular applications: runtime support, compilation and tools. Adv. Comput. 45, 105\u2013153 (1997)","journal-title":"Adv. Comput."},{"key":"17_CR32","doi-asserted-by":"crossref","unstructured":"Ding, C., Kennedy, K.: Improving cache performance in dynamic applications through data, computation reorganization at run time. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design, Implementation, pp. 229\u2013241. ACM, New York, May 1999","DOI":"10.1145\/301618.301670"},{"key":"17_CR33","doi-asserted-by":"crossref","unstructured":"Mitchell, N., Carter, L., Ferrante, J.: Localizing non-affine array references. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 192\u2013202, October 1999","DOI":"10.1109\/PACT.1999.807526"},{"issue":"3","key":"17_CR34","doi-asserted-by":"crossref","first-page":"217","DOI":"10.1023\/A:1011119519789","volume":"29","author":"J Mellor-Crummey","year":"2001","unstructured":"Mellor-Crummey, J., Whalley, D., Kennedy, K.: Improving memory hierarchy performance for irregular applications using data and computation reorderings. Int. J. Parallel Program. 29(3), 217\u2013247 (2001)","journal-title":"Int. J. Parallel Program."},{"issue":"7","key":"17_CR35","doi-asserted-by":"crossref","first-page":"606","DOI":"10.1109\/TPDS.2006.88","volume":"17","author":"H Han","year":"2006","unstructured":"Han, H., Tseng, C.-W.: Exploiting locality for irregular scientific codes. IEEE Trans. Parallel Distrib. Syst. 17(7), 606\u2013618 (2006)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"17_CR36","doi-asserted-by":"crossref","unstructured":"Wu, B., Zhao, Z., Zhang, E.Z., Jiang, Y., Shen, X.: Complexity analysis and algorithm design for reorganizing data to minimize non-coalesced memory accesses on GPU. In: Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming PPoPP 2013 (2013)","DOI":"10.1145\/2442516.2442523"},{"key":"17_CR37","doi-asserted-by":"crossref","unstructured":"Venkat, A., Shantharam, M., Hall, M., Strout, M.M.: Non-affine extensions to polyhedral code generation. In: Proceedings of Annual IEEE\/ACM International Symposium on Code Generation and Optimization, CGO 2014 (2014)","DOI":"10.1145\/2581122.2544141"},{"key":"17_CR38","doi-asserted-by":"crossref","unstructured":"Kaleem, R., Venkat, A., Pai, S., Hall, M., Pingali, K.: Synchronization trade-offs in GPU implementations of graph algorithms. In: 30th IEEE International Parallel and Distributed Processing Symposium (2016)","DOI":"10.1109\/IPDPS.2016.106"},{"key":"17_CR39","doi-asserted-by":"crossref","unstructured":"Bulu\u00e7, A., Fineman, J.T., Frigo, M., Gilbert, J.R., Leiserson, C.E.: Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocks. In: Proceedings of the Twenty-First Annual Symposium on Parallelism in Algorithms and Architectures, pp. 233\u2013244. ACM (2009)","DOI":"10.1145\/1583991.1584053"},{"key":"17_CR40","doi-asserted-by":"crossref","unstructured":"Bik, A., Wijshoff, H.A.: Advanced compiler optimizations for sparse computations. In: Supercomputing 1993 Proceedings, pp. 430\u2013439, November 1993","DOI":"10.1145\/169627.169765"},{"key":"17_CR41","doi-asserted-by":"crossref","unstructured":"Pugh, W., Shpeisman, T.: SIPR: a new framework for generating efficient code for sparse matrix computations. In: Proceedings of the Eleventh International Workshop on Languages and Compilers for Parallel Computing, August 1998","DOI":"10.1007\/3-540-48319-5_14"},{"key":"17_CR42","doi-asserted-by":"crossref","unstructured":"Mateev, N., Pingali, K., Stodghill, P., Kotlyar, V.: Next-generation generic programming and its application to sparse matrix computations. In: Proceedings of the 14th International Conference on Supercomputing, Santa Fe, New Mexico, USA, pp. 88\u201399, May 2000","DOI":"10.1145\/335231.335240"},{"key":"17_CR43","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"106","DOI":"10.1007\/978-3-642-19595-2_8","volume-title":"Languages and Compilers for Parallel Computing","author":"HLA Spek","year":"2011","unstructured":"Spek, H.L.A., Wijshoff, H.A.G.: Sublimation: expanding data structures to enable data instance specific optimizations. In: Cooper, K., Mellor-Crummey, J., Sarkar, V. (eds.) LCPC 2010. LNCS, vol. 6548, pp. 106\u2013120. Springer, Heidelberg (2011). doi: 10.1007\/978-3-642-19595-2_8"},{"key":"17_CR44","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1007\/3-540-57659-2_4","volume-title":"Languages and Compilers for Parallel Computing","author":"AJC Bik","year":"1994","unstructured":"Bik, A.J.C., Wijshoff, H.A.G.: On automatic data structure selection and code generation for sparse computations. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds.) LCPC 1993. LNCS, vol. 768, pp. 57\u201375. Springer, Heidelberg (1994). doi: 10.1007\/3-540-57659-2_4"},{"issue":"2","key":"17_CR45","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1109\/71.485501","volume":"7","author":"AJC Bik","year":"1996","unstructured":"Bik, A.J.C., Wijsho, H.A.G.: Automatic data structure selection and transformation for sparse matrix computations. IEEE Trans. Parallel Distrib. Syst. 7(2), 109\u2013126 (1996)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"issue":"14","key":"17_CR46","doi-asserted-by":"crossref","first-page":"3771","DOI":"10.1002\/cpe.3415","volume":"27","author":"Y Tao","year":"2015","unstructured":"Tao, Y., Deng, Y., Mu, S., Zhang, Z., Zhu, M., Xiao, L., Ruan, L.: GPU accelerated sparse matrix-vector multiplication and sparse matrix-transpose vector multiplication. Concurr. Comput.: Practice Exp. 27(14), 3771\u20133789 (2015)","journal-title":"Concurr. Comput.: Practice Exp."}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-52709-3_17","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,17]],"date-time":"2019-09-17T17:59:15Z","timestamp":1568743155000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-52709-3_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319527086","9783319527093"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-52709-3_17","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017]]}}}