The single instruction multiple threads (SIMT) architecture of modern graphics processing units (GPUs) shows great potential for efficiently solving compute-intensive linear programming (LP) problems. For benchmarking these GPU-based solutions, speedup is used to measure their relative performance gains with respect to CPU-based implementations. However, a methodological flaw has been observed in benchmarking these GPU-based LP problem solvers, namely, the magnitude of their speedup varies with the choice of CPU-based benchmark. In this paper, we analyze the performance of CPU-based LP problem solvers used to benchmark their GPU-based counterparts. More specifically, we consider benchmarks of two established GPU-based solutions for revised simplex method. The first solution is based on general-purpose computing on GPUs (GPGPU) programming model, and uses a custom-built CPU-based solution as benchmark. The second solution is an OpenGL-based solver, and uses the LP utility in GNU linear programming kit (GLPK) as benchmark. Further, we performed experiments to compare the efficiency of these CPU-based benchmarks with an LP tool present in a commercially available CPU-based software package called CPLEX. Our study reveals that the use of nonstandard benchmarks makes it unfair to quantitatively compare the claims made about speedups achieved by various GPU-based solvers. In order to facilitate decision making process for potential users of GPU-based solutions, we recommend that standard sequential benchmarks be used during any future attempts at developing GPU-based linear optimization tools.
[1]
I. Maros.
Computational Techniques of the Simplex Method
,
2002
.
[2]
Justin David Durfee,et al.
Comparison of open-source linear programming solvers.
,
2013
.
[3]
Daniele G. Spampinato,et al.
Linear Optimization with CUDA
,
2009
.
[4]
Anne C. Elster,et al.
Linear optimization on modern GPUs
,
2009,
2009 IEEE International Symposium on Parallel & Distributed Processing.
[5]
George B. Dantzig,et al.
Linear programming and extensions
,
1965
.
[6]
Didier El Baz,et al.
Efficient Implementation of the Simplex Method on a CPU-GPU System
,
2011,
2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.
[7]
Peter Martini,et al.
An efficient GPU implementation of the revised simplex method
,
2010,
2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).
[8]
Nikolaos Ploskas,et al.
Efficient GPU-based implementations of simplex type algorithms
,
2015,
Appl. Math. Comput..
[9]
Qi Huangfu,et al.
Parallelizing the dual revised simplex method
,
2015,
Mathematical Programming Computation.
[10]
Jie Cheng,et al.
Programming Massively Parallel Processors. A Hands-on Approach
,
2010,
Scalable Comput. Pract. Exp..
[11]
Nikolaos Ploskas,et al.
Exterior Point Simplex Algorithm
,
2017
.