Set linear solver accelerator to CPU for NLDD local solvers

This commit is contained in:
Jakob Torben committed 2025-10-09 15:11:42 +02:00
1 parent 92cf91082b
commit 336afbcfcf
1 file changed
+9 -2
@@ -68,11 +68,18 @@ void FlowLinearSolverParameters::init(bool cprRequestedInDataFile)
}
accelerator_mode_ = Parameters::Get<Parameters::AcceleratorMode>();
cpr_weights_thread_parallel_ = Parameters::Get<Parameters::CprWeightsThreadParallel>();
gpu_device_id_ = Parameters::Get<Parameters::GpuDeviceId>();
opencl_platform_id_ = Parameters::Get<Parameters::OpenclPlatformId>();
opencl_ilu_parallel_ = Parameters::Get<Parameters::OpenclIluParallel>();
linear_solver_accelerator_ = Parameters::linearSolverAcceleratorTypeFromCLI();
cpr_weights_thread_parallel_ = Parameters::Get<Parameters::CprWeightsThreadParallel>();
// NLDD local solvers must use CPU accelerator because extractMatrix and other
// operations in the NLDD implementation are not GPU-compatible yet.
if (is_nldd_local_solver_) {
linear_solver_accelerator_ = Parameters::LinearSolverAcceleratorType::CPU;
} else {
linear_solver_accelerator_ = Parameters::linearSolverAcceleratorTypeFromCLI();
}
if (linear_solver_accelerator_ == Parameters::LinearSolverAcceleratorType::GPU) {
if (!Parameters::IsSet<Parameters::LinearSolver>()) {