Solving shallow-water systems in 2D domains using finite volume methods and multimedia SSE instructions. Castro Díaz, M. J., García-Rodríguez, J., González-Vida, J., & Parés, C. 221(1):16–32. Paper abstract bibtex The goal of this paper is to construct efficient parallel solvers for 2D hyperbolic systems of conservation laws with source terms and nonconservative products. The method of lines is applied: at every intercell a projected Riemann problem along the normal direction is considered which is discretized by means of well-balanced Roe methods. The resulting 2D numerical scheme is explicit and first-order accurate. In [M.J. Castro, J.A. García, J.M. González, C. Pares, A parallel 2D Finite Volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows, Comput. Methods Appl. Mech. Engrg. 196 (2006) 2788–2815] a domain decomposition method was used to parallelize the resulting numerical scheme, which was implemented in a PC cluster by means of MPI techniques. In this paper, in order to optimize the computations, a new parallelization of SIMD type is performed at each MPI thread, by means of SSE (“Streaming SIMD Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel© Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and SSE instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a PC’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.
@article{castro_diaz_solving_2008,
title = {Solving shallow-water systems in 2D domains using finite volume methods and multimedia {SSE} instructions},
volume = {221},
url = {http://www.sciencedirect.com/science/article/pii/S0377042707005201},
abstract = {The goal of this paper is to construct efficient parallel solvers for 2D hyperbolic systems of conservation laws with source terms and nonconservative products. The method of lines is applied: at every intercell a projected Riemann problem along the normal direction is considered which is discretized by means of well-balanced Roe methods. The resulting 2D numerical scheme is explicit and first-order accurate. In [M.J. Castro, J.A. García, J.M. González, C. Pares, A parallel 2D Finite Volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows, Comput. Methods Appl. Mech. Engrg. 196 (2006) 2788–2815] a domain decomposition method was used to parallelize the resulting numerical scheme, which was implemented in a {PC} cluster by means of {MPI} techniques. In this paper, in order to optimize the computations, a new parallelization of {SIMD} type is performed at each {MPI} thread, by means of {SSE} (“Streaming {SIMD} Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel© Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and {SSE} instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a {PC}’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.},
pages = {16--32},
number = {1},
journaltitle = {J. Comput. Appl. Math.},
author = {Castro Díaz, Manuel J. and García-Rodríguez, J.-A. and González-Vida, J.-M. and Parés, Carlos},
date = {2008},
}
Downloads: 0
{"_id":"R9PYeipMgPjqjpy5g","bibbaseid":"castrodaz-garcarodrguez-gonzlezvida-pars-solvingshallowwatersystemsin2ddomainsusingfinitevolumemethodsandmultimediasseinstructions","author_short":["Castro Díaz, M. J.","García-Rodríguez, J.","González-Vida, J.","Parés, C."],"bibdata":{"bibtype":"article","type":"article","title":"Solving shallow-water systems in 2D domains using finite volume methods and multimedia SSE instructions","volume":"221","url":"http://www.sciencedirect.com/science/article/pii/S0377042707005201","abstract":"The goal of this paper is to construct efficient parallel solvers for 2D hyperbolic systems of conservation laws with source terms and nonconservative products. The method of lines is applied: at every intercell a projected Riemann problem along the normal direction is considered which is discretized by means of well-balanced Roe methods. The resulting 2D numerical scheme is explicit and first-order accurate. In [M.J. Castro, J.A. García, J.M. González, C. Pares, A parallel 2D Finite Volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows, Comput. Methods Appl. Mech. Engrg. 196 (2006) 2788–2815] a domain decomposition method was used to parallelize the resulting numerical scheme, which was implemented in a PC cluster by means of MPI techniques. In this paper, in order to optimize the computations, a new parallelization of SIMD type is performed at each MPI thread, by means of SSE (“Streaming SIMD Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel© Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and SSE instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a PC’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.","pages":"16–32","number":"1","journaltitle":"J. Comput. Appl. Math.","author":[{"propositions":[],"lastnames":["Castro","Díaz"],"firstnames":["Manuel","J."],"suffixes":[]},{"propositions":[],"lastnames":["García-Rodríguez"],"firstnames":["J.-A."],"suffixes":[]},{"propositions":[],"lastnames":["González-Vida"],"firstnames":["J.-M."],"suffixes":[]},{"propositions":[],"lastnames":["Parés"],"firstnames":["Carlos"],"suffixes":[]}],"date":"2008","bibtex":"@article{castro_diaz_solving_2008,\n\ttitle = {Solving shallow-water systems in 2D domains using finite volume methods and multimedia {SSE} instructions},\n\tvolume = {221},\n\turl = {http://www.sciencedirect.com/science/article/pii/S0377042707005201},\n\tabstract = {The goal of this paper is to construct efficient parallel solvers for 2D hyperbolic systems of conservation laws with source terms and nonconservative products. The method of lines is applied: at every intercell a projected Riemann problem along the normal direction is considered which is discretized by means of well-balanced Roe methods. The resulting 2D numerical scheme is explicit and first-order accurate. In [M.J. Castro, J.A. García, J.M. González, C. Pares, A parallel 2D Finite Volume scheme for solving systems of balance laws with nonconservative products: Application to shallow flows, Comput. Methods Appl. Mech. Engrg. 196 (2006) 2788–2815] a domain decomposition method was used to parallelize the resulting numerical scheme, which was implemented in a {PC} cluster by means of {MPI} techniques. In this paper, in order to optimize the computations, a new parallelization of {SIMD} type is performed at each {MPI} thread, by means of {SSE} (“Streaming {SIMD} Extensions”), which are present in common processors. More specifically, as the most costly part of the calculations performed at each processor consists of a huge number of small matrix and vector computations, we use the Intel© Integrated Performance Primitives small matrix library. To make easy the use of this library, which is implemented using assembler and {SSE} instructions, we have developed a C++ wrapper of this library in an efficient way. Some numerical tests were carried out to validate the performance of the C++ small matrix wrapper. The specific application of the scheme to one-layer Shallow-Water systems has been implemented on a {PC}’s cluster. The correct behavior of the one-layer model is assessed using laboratory data.},\n\tpages = {16--32},\n\tnumber = {1},\n\tjournaltitle = {J. Comput. Appl. Math.},\n\tauthor = {Castro Díaz, Manuel J. and García-Rodríguez, J.-A. and González-Vida, J.-M. and Parés, Carlos},\n\tdate = {2008},\n}\n\n","author_short":["Castro Díaz, M. J.","García-Rodríguez, J.","González-Vida, J.","Parés, C."],"key":"castro_diaz_solving_2008","id":"castro_diaz_solving_2008","bibbaseid":"castrodaz-garcarodrguez-gonzlezvida-pars-solvingshallowwatersystemsin2ddomainsusingfinitevolumemethodsandmultimediasseinstructions","role":"author","urls":{"Paper":"http://www.sciencedirect.com/science/article/pii/S0377042707005201"},"metadata":{"authorlinks":{}}},"bibtype":"article","biburl":"https://www.uma.es/media/files/Elementos_exportados.bib","dataSources":["KcN6LgAsmYzWSF3Th","MGpinsgrS4awXsFeB","YGNRve588gwjqtKtt","9poeKKL33pkAeLXhN"],"keywords":[],"search_terms":["solving","shallow","water","systems","domains","using","finite","volume","methods","multimedia","sse","instructions","castro díaz","garcía-rodríguez","gonzález-vida","parés"],"title":"Solving shallow-water systems in 2D domains using finite volume methods and multimedia SSE instructions","year":null}