finite element multigrid solvers for pde problems on gpus
play

Finite Element Multigrid Solvers for PDE Problems on GPUs and GPU - PowerPoint PPT Presentation

Finite Element Multigrid Solvers for PDE Problems on GPUs and GPU Clusters Robert Strzodka Dominik Gddeke Integrative Scientific Computing Institute for Applied Mathematics Max Planck Institut Informatik Technical University of Dortmund


  1. Finite Element Multigrid Solvers for PDE Problems on GPUs and GPU Clusters Robert Strzodka Dominik Göddeke Integrative Scientific Computing Institute for Applied Mathematics Max Planck Institut Informatik Technical University of Dortmund www.mpi$inf.mpg.de/ www.mathematik.tu$dortmund.de/ ~strzodka ~goeddeke

  2. Structure of Double Lecture 2 x 90 min � PART 1 � PART 2 � Parallelism � FEM on GPU Clusters � Grid Discretization � New MPI Application (Rewrite) � Multigrid & Smoothers � Legacy MPI Code � Mixed$Precision (Accelerate) � Data Layout � �������������������������������

  3. Overview � Levels of Parallelism � Grid Discretizations of PDEs � Multigrid and Strong Smoothers � Mixed Precision Iterative Refinement � Layout of Multi$valued Data � � �������������������������������

  4. Parallelism � Sequential execution is an illusionary software concept � All transistors always do something in parallel ! � Billions of transistors in modern CPUs(>0.5) & GPUs(>2) � Old: Implicit parallelism with caches, ILP, speculation � � diminishing returns, power constraints � � � New: Explicit parallelism on multiple levels � much more efficient & natural � � � � �������������������������������

  5. SIMD Parallelism �����+ �����+ instructions �����" �����" �����0 �����0 �����/ �����/ ������ ������ �����- �����- �����# �����# �����. �����. ����� ���� �����"- �����"- � It is impossible to execute just one instruction � ��������� � ����������������������� (add, nop, nop, nop, >) � Penalty for ignoring SIMD � ������������������������ � !"#�����$�������������%&'�()*� � "#! +�����,��� �������������������������������

  6. Many$Core Parallelism �����+ �����+ �����" �����" Host �����0 �����0 �����/ �����/ ������ ������ �����- �����- �����# �����# Input Assembler �����. �����. �����"- �����"- Execution Manager Local Local Local Local Local Local Local Local Memory Memory Memory Memory Memory Memory Memory Memory Cache Cache Cache Cache Cache Cache Cache Cache Cache � Penalty for ignoring many$cores Load/store Load/store Load/store Load/store Load/store Load/store � �! ����������������� Global Memory � /0!� �����$������������()*� � "+!/+�����,��� � �������������������������������

  7. Intra$Node Parallelism (multiple CPUs/GPUs per PC) ��������� ���" ���" ���/ ���� ����� ������!�� ,��" ,��0 ,��/ ,��� ����� � Penalty for ignoring intra$node parallelism � �! ��$��������!����������� � �! ��$��������!,���������� � �������������������������������

  8. Inter$Node Parallelism in a Cluster �� �� �� � Penalty for ignoring inter$node parallelism � ��1��2������3����������$���2�������3��������� � ��1�����������1����4 " �������������������������������

  9. Bandwidth in a CPU$GPU System �������5�����!"0������� 3�43!��2�,������5�� �������� �������� �������� �(� ��!�3�1 �(� ��!�3�1 �������� �(� ��!�3�1 �(� ��!�3�1 �(� ��!�3�1 6�� 2 TB/s ������ �(� ��!�3�1 6�� ������ 6�� ������ �(� ��!�3�1 6�� ������ 6�� ������ �(� ��!�3�1 6�� ������ 40 GB/s �+�,*7� 6�� ������ �+�,*7� 6�� ������ �+�,*7� 20 GB/s 200 GB/s 2 GB/s ������ 2�8��� 4 GB/s ������ ������ # �������������������������������

  10. Overview � Levels of Parallelism � Grid Discretizations of PDEs � Multigrid and Strong Smoothers � Mixed Precision Iterative Refinement � Layout of Multi$valued Data �� �� �������������������������������

  11. Generalized Poisson Problem � → ℜ � ⊆ ℜ � � �� � ����� � � ��������� � � � � � � ������� ��������� − � � = − ∇ = ���� � � � � � � �������� �� ∂ ν � = � = � � ����2��� �� ∂ � �� � � 9�������2����3������������"��0��������2�0��:��3��1���������������1���; ,�8�����8������$���2���8 " ��'��' 8 0 ��'�����:��2�$���< �� �������������������������������

  12. Discretization Grids �=��2�������4��2 ��1���4�<���1����� 4�������<���1����� ������<� direct ,�������>�2�������!1��2����4��2 ��1���4�<���1����� 4�������<���1����� ������<� direct �������������������������������

  13. Discretization Grids �2�1��8��4��2 ��1���4�<� explicit 4�������<���1�����7��1����� ������<�3��3'���������1�4������� �����������2�4��2 ��1���4�<� explicit 4�������<���1������ ������<���2�������� �������������������������������

  14. nD Arrays ,�������>�2�������!1��2����4��2 ��1���4�<���1����� 4�������<���1�����7��1����� ������<� direct ���� simple ��1����������� ��1��������1���4����8��� precious 4���������2:�2�3 ����:���$$���������!�3�1����������1�������� 4��2��?@�������>����� ����� ��1���4����������������5����A������2����4������2�$$������ ��������$����������=������������1�:��$������8�� �������������������������������

  15. Deformation Adaptivity � This grid is a tensor$product ! � Easier to accelerate in hardware than resolution adaptive grids � Anisotropy level determines optimal solver �������������������������������

Recommend


More recommend