  A novel parallelization paradigm has been developed for multi-GPU
architectures. Classical multi-GPU parallelization for SPH rely on domain
decomposition. In our approach each particle can be assigned to a GPU
independently of its position in space. This ensures a kind of natural load
balancing because the number of particles per GPU remains constant. The data
exchange domain is no more a surface as in the classical approach or in
mesh-based method, but it is a volume which is growing as mixing occurs in time
between the particles assigned to different GPUs. This growth must be prevented
because the efficiency in terms of computation time and memory consumption is
rapidly dropping with the mixing. A simple heuristic is suggested to
periodically detect particles to swap between GPUs in order to keep the
exchange volume close to a surface. The final decomposition is much alike a
domain decomposition and can be applied to any geometry. We developed this
approach within the framework of the industrial code IMPETUS Solver using the
Gamma-SPH-ALE method. Industrial applications in the space and military fields
are presented. They demonstrate the relevance of the approach developed in an
industrial context and for complex applications.
