On Wed, 2016-12-14 at 15:06 +0100, Mathieu Dutour wrote: > I am interested in running glpk from a multithreaded program. > The goal is not to have GLPK itself parallel but instead to > have glpk used many times by different threads for solving > many different linear programs. > > > As is well known glpk is not thread safe and my question > is about alternative solution to that problem. Here are some > possibilities: > > > A) One is to have to run glpsol standalone by running it > as external program with the input file generated by the thread > and then read by the thread. But this solution has its costs > in terms of runtime. It is easy to program. > > > B) Have one thread that does only call glpk. It is adequate > in single threaded performance but potentially expensive > since some thread may wait. Relatively easy to program. > > > C) Use shared memory to exchange data. That is multiple > number of individual programs running glpk and getting their > data from shared memory. > > > Any other solution? Is there any implementation that you > would recommend?
Please see http://lists.gnu.org/archive/html/help-glpk/2010-04/msg00038.html . If you are interested in this solution, I can post you a reentrant version of glpk/src/env/tls.c for GNU/Linux or MS Windows (from an old glpk distribution). Andrew Makhorin _______________________________________________ Help-glpk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-glpk
