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/gpl.html]

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.



-----Original Message-----
From: Help-glpk [mailto:[email protected]] 
On Behalf Of Andrew Makhorin
Sent: Wednesday, December 14, 2016 11:27 AM
To: Mathieu Dutour
Cc: [email protected]
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

> 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]<mailto:[email protected]>

https://lists.gnu.org/mailman/listinfo/help-glpk

________________________________
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.
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to