An MPI+$$X$$X implementation of contact global search using Kokkos. (April 2016)
- Record Type:
- Journal Article
- Title:
- An MPI+$$X$$X implementation of contact global search using Kokkos. (April 2016)
- Main Title:
- An MPI+$$X$$X implementation of contact global search using Kokkos
- Authors:
- Hansen, Glen
Xavier, Patrick
Mish, Sam
Voth, Thomas
Heinstein, Martin
Glass, Micheal - Abstract:
- Abstract This paper describes an approach that seeks to parallelize the spatial search associated with computational contact mechanics. In contact mechanics, the purpose of the spatial search is to find "nearest neighbors, " which is the prelude to an imprinting search that resolves the interactions between the external surfaces of contacting bodies. In particular, we are interested in thecontact global search portion of the spatial search associated with this operation on domain-decomposition-based meshes. Specifically, we describe an implementation that combines standard domain-decomposition-based MPI-parallel spatial search with thread-level parallelism (MPI-X) available on advanced computer architectures (those with GPU coprocessors). Our goal is to demonstrate the efficacy of the MPI-X paradigm in the overall contact search. Standard MPI-parallel implementations typically use a domain decomposition of the external surfaces of bodies within the domain in an attempt to efficiently distribute computational work. This decomposition may or may not be the same as the volume decomposition associated with the host physics. The parallel contact global search phase is then employed to find and distribute surface entities (nodes and faces) that are needed to compute contact constraints between entities owned by different MPI ranks without further inter-rank communication. Key steps of the contact global search include computing bounding boxes, building surface entity (node andAbstract This paper describes an approach that seeks to parallelize the spatial search associated with computational contact mechanics. In contact mechanics, the purpose of the spatial search is to find "nearest neighbors, " which is the prelude to an imprinting search that resolves the interactions between the external surfaces of contacting bodies. In particular, we are interested in thecontact global search portion of the spatial search associated with this operation on domain-decomposition-based meshes. Specifically, we describe an implementation that combines standard domain-decomposition-based MPI-parallel spatial search with thread-level parallelism (MPI-X) available on advanced computer architectures (those with GPU coprocessors). Our goal is to demonstrate the efficacy of the MPI-X paradigm in the overall contact search. Standard MPI-parallel implementations typically use a domain decomposition of the external surfaces of bodies within the domain in an attempt to efficiently distribute computational work. This decomposition may or may not be the same as the volume decomposition associated with the host physics. The parallel contact global search phase is then employed to find and distribute surface entities (nodes and faces) that are needed to compute contact constraints between entities owned by different MPI ranks without further inter-rank communication. Key steps of the contact global search include computing bounding boxes, building surface entity (node and face) search trees and finding and distributing entities required to complete on-rank (local) spatial searches. To enable source-code portability and performance across a variety of different computer architectures, we implemented the algorithm using the Kokkos hardware abstraction library. While we targeted development towards machines with a GPU accelerator per MPI rank, we also report performance results for OpenMP with a conventional multi-core compute node per rank. Results here demonstrate a 47 % decrease in the time spent within the global search algorithm, comparing the reference ACME algorithm with the GPU implementation, on an 18M face problem using four MPI ranks. While further work remains to maximize performance on the GPU, this result illustrates the potential of the proposed implementation. … (more)
- Is Part Of:
- Engineering with computers. Volume 32:Number 2(2016)
- Journal:
- Engineering with computers
- Issue:
- Volume 32:Number 2(2016)
- Issue Display:
- Volume 32, Issue 2 (2016)
- Year:
- 2016
- Volume:
- 32
- Issue:
- 2
- Issue Sort Value:
- 2016-0032-0002-0000
- Page Start:
- 295
- Page End:
- 311
- Publication Date:
- 2016-04
- Subjects:
- Partial differential equations -- Finite element analysis -- Contact problems -- Spatial searching -- 65Y05 -- 65Y25 -- 68P10 -- 74M15
Engineering design -- Data processing -- Periodicals
Computer-aided design -- Periodicals
Conception technique -- Informatique -- Périodiques
Conception assistée par ordinateur -- Périodiques
Electronic journals
620.00285 - Journal URLs:
- http://link.springer-ny.com/link/service/journals/00366/index.htm ↗
http://www.springerlink.com/content/0177-0667 ↗
http://www.springer.com/gb/ ↗ - DOI:
- 10.1007/s00366-015-0418-x ↗
- Languages:
- English
- ISSNs:
- 0177-0667
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3758.586000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 9979.xml