Originally posted by: SystemAdmin
[achterberg said:]
Hi Tatjana,
[quote author=tanjad link=topic=1350.msg3773#msg3773 date=1250875444]
I have some technical questions about this new issue. We have an HPC
Linux Cluster which we want to use for running MIP optimizers. We would
like to perform a synchronous execution of programs (each program running
on a different CPU), where each thread contains a call to a CPLEX MIP
optimizer. We are not sure if one CPLEX licence is enough to perfom that
task.
As far as I understand, you have a Linux cluster consisting of several machines with distributed memory, each machine having several cores. Furthermore, you want to run several sequential CPLEX MIP solves on each of the cluster machines. Is this correct?
To the best of my knowledge, you need one license per process. Thus, if you create multiple threads in a single process, each of them opening one CPLEX environment in order to solve some problem instance (you need one environment per solve!), one license should be enough from a technical point of view. I don't know whether this is okay in terms of the license agreement (i.e., in terms of the legal aspects).
In any case, you need a seperate license for each machine in your cluster. In other words, if you have a token server that provides 20 CPLEX licenses, you can run CPLEX on at most 20 machines at the same time.
[quote author=tanjad link=topic=1350.msg3773#msg3773 date=1250875444]
Also, in that case, we would like to know how to control the
usage of the licenses installed, i.e. how to guarantee that each time
the program is run, CPUs selected for execution will have access to at
least one CPLEX licence. We assume that the number of available
licenses will be smaller then the number of available CPUs.
First, you need a floating license that issues license tokens. Second, it would be useful to check the status code of the CPXopenCPLEX() call and have a loop around it like this:
cpxenv = CPXopenCPLEX(&status);
while ( status != 0 ) {
sleep(0.5);
cpxenv = CPXopenCPLEX(&status);
}
Tobias
#CPLEXOptimizers#DecisionOptimization