solving large numerical optimization problems in hpc with
play

SOLVING LARGE NUMERICAL OPTIMIZATION PROBLEMS IN HPC WITH PYTHON - PowerPoint PPT Presentation

SOLVING LARGE NUMERICAL OPTIMIZATION PROBLEMS IN HPC WITH PYTHON Antonio Gmez-Iglesias PyHPC 2015 1 CONCLUSIONS Python is great for optimization of large-scale problems in HPC resources Focus on the problem, not on the implementation


  1. SOLVING LARGE NUMERICAL OPTIMIZATION PROBLEMS IN HPC WITH PYTHON Antonio Gómez-Iglesias PyHPC 2015 1

  2. CONCLUSIONS ▶ Python is great for optimization of large-scale problems in HPC resources ▶ Focus on the problem, not on the implementation ▶ Negligible impact on overall performance ▶ Python as a glue, but much more than that ▶ Large-scale problems → not your typical optimization problem Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 2

  3. LARGE-SCALE OPTIMIZATION PROBLEMS ▶ Optimization problem: find the best feasible solution for a problem ▶ Large-scale problem → very complex problems ▶ Large number of parameters ▶ Long wall time ▶ High computational requirements ▶ Advancements in software and hardware allow to solve problems that were unfeasible ▶ Applications on science, society and industry ▶ Few people working on this, high demand of skills and knowledge Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 3

  4. OPTIMIZING PLASMA CONFINEMENT Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 4

  5. PART OF A MUCH BIGGER PROBLEM Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 5

  6. A MULTI-OBJECTIVE PROBLEM Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 6

  7. MATHEURISTICS maximize f ( x ) subject to Ax ≤ B x ≥ 0 ▶ Metaheuristics + Mathematical Programming ▶ These problems are more common than you imagine ▶ Huge impact in everyday life ▶ Transportation, logistics, urban design, energy,... ▶ First version using ACO and Lagrangian Relaxation used for the Hunter Valley Coal Chain Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 7

  8. HUNTER VALLEY COAL CHAIN ▶ Optimize the coal supply chain in the Hunter Valley region (New South Wales, Australia) ▶ Newcastle: main coal export port in the world ▶ Key player in the economy of the region ▶ Very large and complex problem, with millions of variables and +40K constraints Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 8

  9. HOW TO SOLVE THESE PROBLEMS? ▶ Distributed solvers ▶ Metaheuristics ▶ DAB: distributed asynchronous bees ▶ ABC: artificial bee colony ▶ ACO: ant colony optimization ▶ Using large computational resources ▶ Euler: 144 Dual Xeon 4-core E5450 ▶ Bragg: 128 Dual Xeon 8-core E5-2650 ▶ Stampede: 6400 Dual Xeon 8-core E5-2680 ▶ Extensible parallel framework ▶ Python + NumPy + MPI4py + minidom + … ▶ Originally grid-oriented ▶ Producer-consumer model Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 9

  10. PRODUCER-CONSUMER MODEL ▶ Two main components in the framework: ▶ Producer - 1 process ▶ Implements the algorithm ▶ Creates solutions based on previous known solutions ▶ Decides when to finish ▶ Consumer - N processes ▶ Evaluates possible solutions for the problem ▶ Avoid reevaluating solutions → use queues of evaluated and pending solutions Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 10

  11. NOT THE TYPICAL BLACK BOX MODEL ▶ Many optimization frameworks designed to be used as black boxes ▶ If the optimization is easy , that's ok ▶ Large-scale problems are so challenging that specific tuning of the optimization algorithm is required ▶ Weeks of wall time → checkpointing is critical Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 11

  12. WHY PYTHON? ▶ Popular ▶ Code is clear ▶ Development time ▶ Functionality already provided by many modules ▶ Easy to interact with other applications Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 12

  13. PYTHON AS GLUE AND MUCH MORE ▶ Main problem might be solved with external applications ▶ Python used to interact with those applications ▶ Optimization algorithms are already quite complex ▶ Simple implementation in Python ▶ Many modules that facilitate the development ▶ Simple functions can be directly implemented in Python Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 13

  14. SOLVING DIFFERENT PROBLEMS ▶ XML file describing the parameters of the problem ▶ User needs to implement the function that evaluates one solution ▶ External applications ▶ Inline ▶ Auxiliary functions are needed ▶ Create input file from internal representation of the solution Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 14

  15. MPI4PY ▶ Great for developers with MPI experience ▶ Documentation is still lacking ▶ Initially (1.2.2) some functionality was missing → convoluted implementation ▶ 2.0.0 has been recently released: porting pending ▶ It might need the MPI-enabled Python interpreter (MVAPICH2) → python-mpi Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 15

  16. PERFORMANCE ▶ For large-scale problems most of the time is spent in the evaluation of a possible solution ▶ The impact of Python on the overall execution time is negligible ▶ However, special care has been put in making the Python code as efficient as possible ▶ Impact of communication (initialization of MPI and synchronization) is also irrelevant Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 16

  17. CONCLUSIONS ▶ Python is great for optimization of large-scale problems in HPC resources ▶ Focus on the problem, not on the implementation ▶ Negligible impact on overall performance ▶ Python as a glue, but much more than that ▶ Large-scale problems → not your typical optimization problem Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 17

  18. SOLVING LARGE NUMERICAL OPTIMIZATION PROBLEMS IN HPC WITH PYTHON Antonio Gómez-Iglesias Antonio Gómez-Iglesias Optimization with Python PyHPC 2015 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend