A Hybrid Multi-GPU Implementation of Simplex Algorithm with CPU Collaboration

11/20/2022
by   Basilis Mamalis, et al.
0

The simplex algorithm has been successfully used for many years in solving linear programming (LP) problems. Due to the intensive computations required (especially for the solution of large LP problems), parallel approaches have also extensively been studied. The computational power provided by the modern GPUs as well as the rapid development of multicore CPU systems have led OpenMP and CUDA programming models to the top preferences during the last years. However, the desired efficient collaboration between CPU and GPU through the combined use of the above programming models is still considered a hard research problem. In the above context, we demonstrate here an excessively efficient implementation of standard simplex, targeting to the best possible exploitation of the concurrent use of all the computing resources, on a multicore platform with multiple CUDA-enabled GPUs. More concretely, we present a novel hybrid collaboration scheme which is based on the concurrent execution of suitably spread CPU-assigned (via multithreading) and GPU-offloaded computations. The experimental results extracted through the cooperative use of OpenMP and CUDA over a notably powerful modern hybrid platform (consisting of 32 cores and two high-spec GPUs, Titan Rtx and Rtx 2080Ti) highlight that the performance of the presented here hybrid GPU/CPU collaboration scheme is clearly superior to the GPU-only implementation under almost all conditions. The corresponding measurements validate the value of using all resources concurrently, even in the case of a multi-GPU configuration platform. Furthermore, the given implementations are completely comparable (and slightly superior in most cases) to other related attempts in the bibliography, and clearly superior to the native CPU-implementation with 32 cores.

READ FULL TEXT
research
09/15/2020

Term Rewriting on GPUs

We present a way to implement term rewriting on a GPU. We do this by let...
research
08/18/2016

Hybrid CPU-GPU Framework for Network Motifs

Massively parallel architectures such as the GPU are becoming increasing...
research
03/16/2022

Concurrent CPU-GPU Task Programming using Modern C++

In this paper, we introduce Heteroflow, a new C++ library to help develo...
research
11/28/2022

High-performance xPU Stencil Computations in Julia

We present an efficient approach for writing architecture-agnostic paral...
research
04/21/2018

Parallel Implementations of Cellular Automata for Traffic Models

The Biham-Middleton-Levine (BML) traffic model is a simple two-dimension...
research
05/21/2020

Signal Processing for a Reverse-GPS Wildlife Tracking System: CPU and GPU Implementation Experiences

We present robust high-performance implementations of signal-processing ...
research
05/18/2022

The anachronism of whole-GPU accounting

NVIDIA has been making steady progress in increasing the compute perform...

Please sign up or login with your details

Forgot password? Click here to reset