Vectorization of the Riemann solver using the AVX-512 instruction set

Бесплатный доступ

Numerical methods based on solving the Riemann problem of the decay of an arbitrary discontinuity are extremely demanding of computational resources. Applying the data of numerical methods to modern computational grids requires the use of a supercomputer. Among the various tools for improving the performance of supercomputer applications, we can emphasize the vectorization of program code. The AVX-512 instruction set has a number of unique features allowing to apply vectorization to the Riemann solver software context, which results in a significant acceleration of the solver. Using the exact Riemann solver as an example, the article discusses practical approach to vectorizing a various program contexts, including simple linear blocks, regions with complex control, and nested loops. The basis of the approach under consideration is the possibility of simultaneously executing several instances of some pure function on the same processor core. This feature is achieved by translating the program code into the predicate form and using AVX-512 vector instructions. In this case the number of simultaneously running instances is equal to the width of the vector. It is shown that using the features of the AVX-512 instruction set allows to successfully vectorize the considered program context. The proposed approach can be applied to vectorize a wide range of applications.

Еще

Riemann problem of the decay of an arbitrary discontinuity, riemann solver, avx-512, knl, vectorization, intrinsic functions

Короткий адрес: https://sciup.org/143169801

IDR: 143169801   |   DOI: 10.25209/2079-3316-2019-10-3-41-58

Список литературы Vectorization of the Riemann solver using the AVX-512 instruction set

  • A. G. Kulikovskiy , N. V. Pogorelov, A. Y. Semenov. Mathematical aspects of numerical solution of hyperbolic systems, Fizmatlit, M., 2001, 608 pp. (in Russian).
  • V. E. Borisov, Yu. G. Rykov. “An exact Riemann solver in the algorithms for multicomponent gas dynamics”, Keldysh Institute preprints, 2018, 096, 28 pp. (in Russian). DOI: 10.20948/prepr-2018-96
  • S. K. Godunov, A. V. Zabrodin, M. Y. Ivanov, A. N. Krayko, G. P. Prokopov. Numerical solution of multidimensional problems of gas dynamics, Nauka, M., 1976, 400 pp. (in Russian).
  • U. Shumlak, B. Udrea. An approximate Riemann solver for MHD computations on parallel architectures, 15th AIAA Computational Fluid Dynamics Conference (11 June 2001-14 June 2001, Anaheim, CA, USA), 2001, 8 pp. DOI: 10.2514/6.2001-2591
  • H.-Y. Schive, U.-H. Zhang, T. Chiueh. “Directionally unsplit hydrodynamic schemes with hybrid MPI/OpenMP/GPU parallelization in AMR”, International Journal of High Performance Computing Applications, 26:4 (2011), pp. 367-377. DOI: 10.1177/1094342011428146
  • K. T. Mandly, A. Alghamdi, A. Ahmadia, D. I. Ketcheson, W. Scullin. “Using Python to construct a scalable parallel nonlinear wave solver”, SCIPY 2011 (11-16 Jule 2011, Austin, Texas, USA), 2011, pp. 61-66.
  • I.M. Kulikov, I.G. Chernykh, E.I. Vorobyev, A.V. Snytnikov, D.V. Vins and others. “Numerical hydrodynamics simulation of astrophysical flows at Intel Xeon Phi supercomputers”, Vestn. YuUrGU. Ser. Vych. Matem. Inform., 5:4 (2016), pp. 77-97 (in Russian).
  • DOI: 10.14529/cmse160406
  • I. Kulikov, I. Chernykh, V. Vshivkov, V. Prigarin, V. Mironov, A. Tatukov. “The parallel hydrodynamic code for astrophysical flow with stellar equation of state”, Communications in Computer and Information Science, vol. 965, Springer, Cham, 2018, pp. 414-426.
  • DOI: 10.1007/978-3-030-05807-4_35
  • M. Bader, A. Breuer, W. Höltz, S. Rettenberger. “Vectorization of an augmented Riemann solver for the shallow water equations”, HPCS 2014 (21-25 July 2014, Bologna, Italy), 2014, pp. 193-201.
  • DOI: 10.1109/HPCSim.2014.6903686
  • C. R. Ferreira, K. T. Mandli, M. Bader. “Vectorization of Riemann solvers for the single- ans multi-layer shallow water equations”, HPCS 2018 (16-20 July 2018, Orleans, France), 2018, pp. 415-422.
  • DOI: 10.1109/hpcs.2018.00073
  • V. Y. Volkonskiy, S. K. Okunev. “Predicate representation as the basis of program optimization for architectures with pronounced parallelism”, Informatsionnyye tekhnologii, 2003, no.4, pp. 36-45 (in Russian).
  • A. K. Kim, V. I. Perekatov, S. G. Yermakov. Microprocessors and computing complexes of the «Elbrus» family, Piter, Saint Petersburg, 2013, 273 pp. (in Russian).
  • Intel Intrinsics Guide, https://software.intel.com/sites/landingpage/IntrinsicsGuide/.
  • E. F. Toro. Riemann Solvers and Numerical Methods for Fluid Dynamics: A Practical Introduction, 2nd Edition, Springer, Berlin-Heidelberg, 1999, 645 pp.
  • A. A. Rybakov. “Optimization of the problem of conflict detection with dangerous aircraft movement areas to execute on Intel Xeon Phi”, Programmnyye produkty i sistemy, 30:3 (2017), pp. 524-528 (in Russian).
  • DOI: 10.15827/0236-235X.119.524-528
  • A. A. Rybakov, P. N. Telegin, B. M. Shabanov. “Cycle socket vectoring issues using AVX-512iInstructions”, Programmnyye produkty, sistemy i algoritmy, 2018, no.3, 11 pp. (in Russian).
  • DOI: 10.15827/2311-6749.28.314
  • O. Krzikalla, F. Wende, M. Hohnerbach. “Dynamic SIMD vector lane scheduling”, Lect. Notes Comput. Sci., vol. 9945, Springer, Cham, 2016, pp. 354-365.
  • DOI: 10.1007/978-3-319-46079-6_25
  • P. V. Bulat, K. N. Volkov. “One-dimensional gas dynamics problems and their solution based on high-resolutinon finite difference schemes”, Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki, 15:4 (2015), pp. 731-740 (in Russian).
  • DOI: 10.17586/2226-1494-2015-15-4-731-740
  • L.A. Benderskiy, D.A. Lyubimov, A.A. Rybakov. “Scaling of fluid dynamic calculations using the RANS/ILES method on supercomputer”, Trudy NIISI RAN, 7:4 (2017), pp. 32-40 (in Russian).
  • DOI: 10.25682/NIISI.2018.4.9975
  • C. Kong. Comparison of Approximate Riemann Solvers, Department of Mathematics, University of Reading, 2011.
  • D. L. George. “Augmented Riemann solvers for the shallow water equations over variable topography with steady states and inundation”, Journal of Computational Physics, 227:6 (2008), pp. 3089-3113.
  • DOI: 10.1016/j.jcp.2007.10.027
Еще
Статья научная