|Subject:||Re: [Help-glpk] Parallel runs of glpk|
|Date:||Wed, 14 Dec 2016 18:39:07 +0100|
I am, by no means, the expert on the GPL license that GLPK. My understanding is that if you make the changes suggested below and then proceed to distribute the software publicly (outside of your company), you will need to make the modified source code available to the users. The actual wording is below.
That’s one of the reasons why I prefer using Option (A) – no modification is required, so less burden on me if I give away the application.
[below is from https://www.gnu.org/licenses/
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
From: Help-glpk [mailto:help-glpk-bounces+
marc.meketon=oliverwyman.com@ gnu.org] On Behalf Of Andrew Makhorin
Sent: Wednesday, December 14, 2016 11:27 AM
To: Mathieu Dutour
Subject: Re: [Help-glpk] Parallel runs of glpk
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
> As is well known glpk is not thread safe and my question is about
> alternative solution to that problem. Here are some
> 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
> Any other solution? Is there any implementation that you would
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).
Help-glpk mailing list
This e-mail and any attachments may be confidential or legally privileged. If you received this message in error or are not the intended recipient, you should destroy the e-mail message and any attachments or copies, and you are prohibited from retaining, distributing, disclosing or using any information contained herein. Please inform us of the erroneous delivery by return e-mail. Thank you for your cooperation.
|[Prev in Thread]||Current Thread||[Next in Thread]|