(85c) Parallel Nonlinear Programming Decomposition for Design Under Uncertainty Using Graphics Processing Units | AIChE

(85c) Parallel Nonlinear Programming Decomposition for Design Under Uncertainty Using Graphics Processing Units

Authors 

Legg, S. - Presenter, Texas A&M University
Laird, C. D. - Presenter, Texas A&M University


Large-scale nonlinear programming (NLP) has proven to be an effective framework for optimal process design. However, the scale of the NLP problems of interest to both industry and academia continues to grow increasingly large, potentially outstripping the capacity of a single CPU workstation. This means that we must develop algorithms that are capable of utilizing modern concurrent architectures efficiently. We will discuss the key differences in several parallel architectures available for scientific computing, including distributed clusters, general multicore systems, and graphics processing units (GPU). In previous work we have presented an internal decomposition approach for the parallel solution of multi-scenario nonlinear optimization problems using classic distributed parallel architectures. In current work, we extend the block decomposition approach and demonstrate effective parallel solution on a high performance GPU with 128 cores. The GPU system does not support multiple-instruction-multiple-data (MIMD) paradigms; instead, containing several stream processes that support single-instruction-multiple-data (SIMD) paradigms. The SIMD limitation presents a challenge in the design of effective parallel algorithms for nonlinear programming. Therefore, we develop a fixed-pivot decomposition strategy that pre-computes the factorization steps for a representative block. The pre-computed factorization sequence is then used in parallel for all blocks in the decomposed system to efficiently form the Schur-complement. This idea is extended to include iterative approaches with an approximate fixed-pivot decomposition being used as an effective preconditioner. This decomposition strategy is particularly effective for multi-scenario optimization problems arising from design under uncertainty. We apply this approach to some case studies where the discretized uncertainty space is very large.