User Tools

Site Tools


installation:utilizing_multiple_cpus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
installation:utilizing_multiple_cpus [2015/09/18 11:23]
Jarungjit Parnjai
installation:utilizing_multiple_cpus [2015/09/18 11:37] (current)
Jarungjit Parnjai
Line 36: Line 36:
 We distinguish between two different cases. The first case is when we have several model instances that only differ in regards of parameter values. The second case is when the model instances also differ in structure (size or algebraic formulation). We distinguish between two different cases. The first case is when we have several model instances that only differ in regards of parameter values. The second case is when the model instances also differ in structure (size or algebraic formulation).
  
-In the first case we may use the Gather-Update-Solve-Scatter ([[http://​www.gams.com/​dd/docs/​solvers/​guss.pdf|GUSS]]) facility, instead of a ''​loop''​ statement. GUSS keeps the instantiation of the GAMS model (as generated by the ''​solve''​ statement) in memory and only updates its data between consecutive solves. This can increase performance if generating a model instance is a bottleneck or the solver can be "hot started"​.+In the first case we may use the Gather-Update-Solve-Scatter ([[http://​www.gams.com/​help/topic/​gams.doc/​solvers/​guss/index.html|GUSS]]) facility, instead of a ''​loop''​ statement. GUSS keeps the instantiation of the GAMS model (as generated by the ''​solve''​ statement) in memory and only updates its data between consecutive solves. This can increase performance if generating a model instance is a bottleneck or the solver can be "hot started"​.
  
 **Note**, the following solvers cannot be used as subsolvers of GUSS: ALPHAECP, AMPL, BARON, BDMLP, BENCH, CONVERT, DECISC, DECISM, DICOPT, EXAMINER, GAMSCHK, JAMS, KESTREL, LINGO, LOGMIP, LS, MILES, MPECDUMP, MPSGE, MSNLP, NLPEC, OQNLP, PATHNLP, SBB, and XA. **Note**, the following solvers cannot be used as subsolvers of GUSS: ALPHAECP, AMPL, BARON, BDMLP, BENCH, CONVERT, DECISC, DECISM, DICOPT, EXAMINER, GAMSCHK, JAMS, KESTREL, LINGO, LOGMIP, LS, MILES, MPECDUMP, MPSGE, MSNLP, NLPEC, OQNLP, PATHNLP, SBB, and XA.
  
-In situations where input data for the next model instance is dependent on the previous model instance solution, the [[http://​www.gams.com/​dd/docs/api/introduction.html|GAMS API]] can be used to update a once generated model instantiation. However, in this case, multiple cores can only be utilized, if several independent sequences of model instances can be identified.+In situations where input data for the next model instance is dependent on the previous model instance solution, the [[http://​www.gams.com/​help/topic/gams.doc/apis/index.html|GAMS API]] can be used to update a once generated model instantiation. However, in this case, multiple cores can only be utilized, if several independent sequences of model instances can be identified.
  
 If the model instances also differ in structure, it is possible to [[http://​www.gams.com/​testlib/​libhtml/​asynexec.htm|execute the model instances asynchronously]] and distribute the workload on different cores. However, keep in mind that your computer needs to have sufficiently much memory to support this approach. If the model instances also differ in structure, it is possible to [[http://​www.gams.com/​testlib/​libhtml/​asynexec.htm|execute the model instances asynchronously]] and distribute the workload on different cores. However, keep in mind that your computer needs to have sufficiently much memory to support this approach.
Line 47: Line 47:
 ===== Grid computing environment,​ multiple model instances ===== ===== Grid computing environment,​ multiple model instances =====
  
-The methods from the previous section also apply here. Furthermore,​ the GAMS Grid Facility can be used, see GAMS User's Guide [[http://​www.gams.com/​dd/docs/bigdocs/GAMSUsersGuide.pdf|Appendix - The GAMS Grid Computing Facility]] and [[http://​www.gams.com/​presentations/​orms_condor.pdf|these presentation slides]]. The Grid Facility can also be used in combination with GUSS, see [[http://​www.gams.com/​modlib/​libhtml/​gussgrid.htm|this example]]. ​  +The methods from the previous section also apply here. Furthermore,​ the GAMS Grid Facility can be used, see GAMS User's Guide [[http://​www.gams.com/​help/topic/gams.doc/​userguides/​userguide/_u_g__grid_computing.html|Appendix - The GAMS Grid Computing Facility]] and [[http://​www.gams.com/​presentations/​orms_condor.pdf|these presentation slides]]. The Grid Facility can also be used in combination with GUSS, see [[http://​www.gams.com/​modlib/​libhtml/​gussgrid.htm|this example]]. ​  
  
 ===== Additional Notes ===== ===== Additional Notes =====
  
-It is possible to send a GAMS model to the [[http://​www.gurobi.com/​products/​gurobi-compute-server/​overview|Gurobi Compute Server]], see GUROBI manual chapter [[http://​www.gams.com/​dd/docs/​solvers/​gurobi.pdf|Compute Server]]. Alternatively,​ you may want to send a GAMS model to a [[solver:​distributed_mip_with_gams_cplex|CPLEX Remote Object Server]], see CPLEX manual chapter [[http://​www.gams.com/​dd/docs/​solvers/​cplex.pdf|Cplex Remote Object Server and Distributed MIP]].+It is possible to send a GAMS model to the [[http://​www.gurobi.com/​products/​gurobi-compute-server/​overview|Gurobi Compute Server]], see GUROBI manual chapter [[http://​www.gams.com/​help/topic/​gams.doc/​solvers/​gurobi/index.html?​cp=0_3_20#​GUROBI_COMPUTE_SERVER|Compute Server]]. Alternatively,​ you may want to send a GAMS model to a [[solver:​distributed_mip_with_gams_cplex|CPLEX Remote Object Server]], see CPLEX manual chapter [[http://​www.gams.com/​help/topic/​gams.doc/​solvers/​cplex/index.html#​CPLEX_REMOTE_OBJECT_SERVER_DISTRIBUTED_MIP|Cplex Remote Object Server and Distributed MIP]].
  
IMPRESSUM / LEGAL NOTICEPRIVACY POLICY installation/utilizing_multiple_cpus.txt ยท Last modified: 2015/09/18 11:37 by Jarungjit Parnjai