Skip to content

Commit 21c1ba0

Browse files
committed
Fix(input): remove nspin=4 guard on gint_precision to enable mixed-precision
The gint mixed-precision path (mix/single) was artificially blocked for nspin=4, but the DeltaSpin subspace code already supports fp32 GEMM with proper cast_down/cast_up. Remove the guard. Test (LCAO nspin=4 DeltaSpin subspace gga_grad=3): - double precision: Etot = -6267.46519 eV, Stress_xx = -1103.396 kbar - mix precision: Etot = -6267.46517 eV, Stress_xx = -1103.396 kbar - Difference: ~2e-5 eV, stress identical
1 parent 306bb14 commit 21c1ba0

1 file changed

Lines changed: 1 addition & 6 deletions

File tree

source/source_io/module_parameter/read_input_item_system.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -763,12 +763,7 @@ Available options are:
763763
"ReadInput",
764764
"gint_precision = single or mix is currently supported only for LCAO calculations.\n");
765765
}
766-
if (para.inp.gint_precision != "double" && para.inp.nspin == 4)
767-
{
768-
ModuleBase::WARNING_QUIT(
769-
"ReadInput",
770-
"gint_precision = single or mix is not supported for nspin = 4 (noncollinear/SOC) calculations.\n");
771-
}
766+
772767
};
773768
this->add_item(item);
774769
}

0 commit comments

Comments
 (0)