Skip to content

[BUG]: GAMSPy_integration_example/trnsport_cuopt.ipynb is hardwired to x86-64 #101

@evolvingtech

Description

@evolvingtech

Version

25.10

Which installation method(s) does this occur on?

Pip

Describe the bug.

When running all cells in the Notebook and reaching the following cell:

import sys
import gamspy as gp

gp.set_options({"SOLVER_VALIDATION": 0})
transport.solve(solver="cuopt", solver_options=dict(method=1, crossover=0), output=sys.stdout)

The following is generated:

System information: 20 physical cores and 120 Gb physical memory detected
--- Starting compilation
--- __m_9qG6BRHu2GdUXv1zeIw.gms(71) 4 Mb
--- Starting execution: elapsed 0:00:00.000
--- Generating LP model transport
--- __m_9qG6BRHu2GdUXv1zeIw.gms(142) 4 Mb
---   6 rows  7 columns  19 non-zeroes
--- Range statistics (absolute non-zero finite values)
--- RHS       [min, max] : [ 2.750E+02, 6.000E+02] - Zero values observed as well
--- Bound     [min, max] : [        NA,        NA] - Zero values observed as well
--- Matrix    [min, max] : [ 1.260E-01, 1.000E+00]
--- Executing CUOPT (Solvelink=2): elapsed 0:00:00.000
x86_64-binfmt-P: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
--- Reading solution for model transport
--- Executing after solve: elapsed 0:00:00.003
--- __m_9qG6BRHu2GdUXv1zeIw.gms(201) 4 Mb
--- GDX File /tmp/tmp927wssnj/__m_9qG6BRHu2GdUXv1zeIwout.gdx
*** Status: Normal completion
--- Job __m_9qG6BRHu2GdUXv1zeIw.gms Stop 12/07/25 22:31:30 elapsed 0:00:00.003

The full error message is:

---------------------------------------------------------------------------
GamspyException                           Traceback (most recent call last)
Cell In[29], line 5
      2 import gamspy as gp
      4 gp.set_options({"SOLVER_VALIDATION": 0})
----> 5 transport.solve(solver="cuopt", solver_options=dict(method=1, crossover=0), output=sys.stdout)

File [~/jupyter_env/lib/python3.12/site-packages/gamspy/_model.py:1433](http://localhost:8888/lab/tree/cu-opt/git-cuopt-examples/cuopt-examples/GAMSPy_integration_example/jupyter_env/lib/python3.12/site-packages/gamspy/_model.py#line=1432), in Model.solve(self, solver, options, solver_options, freeze_options, output, backend, client, load_symbols)
   1419 options._set_model_info(solver, self.problem, solver_options)
   1421 runner = backend_factory(
   1422     self.container,
   1423     options,
   (...)   1430     load_symbols,
   1431 )
-> 1433 summary = runner.run(relaxed_domain_mapping=False, gams_to_gamspy=True)
   1435 if IS_MIRO_INIT:
   1436     miro._write_default_gdx_miro(self.container)

File [~/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py:76](http://localhost:8888/lab/tree/cu-opt/git-cuopt-examples/cuopt-examples/GAMSPy_integration_example/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py#line=75), in Local.run(self, relaxed_domain_mapping, gams_to_gamspy)
     73 gams_string = self.preprocess()
     75 # Run the model
---> 76 self.execute_gams(gams_string, gams_to_gamspy)
     78 # Synchronize GAMSPy with checkpoint and return a summary
     79 summary = self.postprocess(relaxed_domain_mapping, gams_to_gamspy)

File [~/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py:110](http://localhost:8888/lab/tree/cu-opt/git-cuopt-examples/cuopt-examples/GAMSPy_integration_example/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py#line=109), in Local.execute_gams(self, gams_string, gams_to_gamspy)
    103     message = _customize_exception(
    104         self.options,
    105         self.job_name,
    106         exception.return_code,
    107     )
    109     exception.args = (exception.message + message,)
--> 110     raise exception
    111 finally:
    112     self.container._unsaved_statements = []

File [~/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py:99](http://localhost:8888/lab/tree/cu-opt/git-cuopt-examples/cuopt-examples/GAMSPy_integration_example/jupyter_env/lib/python3.12/site-packages/gamspy/_backend/local.py#line=98), in Local.execute_gams(self, gams_string, gams_to_gamspy)
     94     send_job(
     95         self.container._comm_pair_id, self.job_name, self.pf_file, self.output
     96     )
     98     if not self.is_async() and self.model:
---> 99         self.model._update_model_attributes()
    100         self.container._delete_autogenerated_symbols()
    101 except GamspyException as exception:

File [~/jupyter_env/lib/python3.12/site-packages/gamspy/_model.py:1122](http://localhost:8888/lab/tree/cu-opt/git-cuopt-examples/cuopt-examples/GAMSPy_integration_example/jupyter_env/lib/python3.12/site-packages/gamspy/_model.py#line=1121), in Model._update_model_attributes(self)
   1117         logger.warning(
   1118             f"The solve was interrupted! Solve status: {status.name}. "
   1119             "For further information, see https://gamspy.readthedocs.io/en/latest/reference/gamspy._model.html#gamspy.SolveStatus."
   1120         )
   1121     elif status in ERROR_STATUS:
-> 1122         raise GamspyException(
   1123             f"Solve status: {status.name}. {ERROR_STATUS[status]}",
   1124             status.value,
   1125         )
   1126 else:
   1127     setattr(self, python_attr, data)

GamspyException: Solve status: SystemError. This indicates a completely unknown or unexpected error condition.

=============
Error Summary
=============

**** SOLVER STATUS     13 System Failure
**** MODEL STATUS      13 Error No Solution
**** OBJECTIVE VALUE               NA

 RESOURCE USAGE, LIMIT         NA     10000000000.000
 ITERATION COUNT, LIMIT        NA    2147483647

**** SOLVER DID NOT WRITE A STATUS FILE ****

All the Notebooks in cuopt-examples run fine on the DGX Spark with the exception of GAMSPy_integration_example/trnsport_cuopt.ipynb.

The DGX Spark is based on ARM64 architecture but the code in this Jupyter Notebook seems to have a hardwired dependency on x86-64.

x86_64-binfmt-P: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

Minimum reproducible example

Relevant log output

Environment details

Other/Misc.

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions