SolverSettings currently has both a generic setSetting(String name, ...) API and a growing set of dedicated wrappers (setMethod, setPDLPSolverMode, setOptimalityTolerance, setNumGpus, setMpdlpPartitioner). Each new parameter that gets a named wrapper adds ongoing API surface and maintenance burden.
Worth deciding whether new settings like num_gpus/multigpu_pdlp_partitioner should stick to the generic setSetting(CuOptConstants.CUOPT_NUM_GPUS, value) form rather than growing a dedicated method per parameter, and possibly trimming existing wrappers to match.
Raised during review of #1984.
SolverSettings currently has both a generic setSetting(String name, ...) API and a growing set of dedicated wrappers (setMethod, setPDLPSolverMode, setOptimalityTolerance, setNumGpus, setMpdlpPartitioner). Each new parameter that gets a named wrapper adds ongoing API surface and maintenance burden.
Worth deciding whether new settings like num_gpus/multigpu_pdlp_partitioner should stick to the generic setSetting(CuOptConstants.CUOPT_NUM_GPUS, value) form rather than growing a dedicated method per parameter, and possibly trimming existing wrappers to match.
Raised during review of #1984.