Skip to content

Commit a2c4d1d

Browse files
Spencer Bryngelsonclaude
andcommitted
Work around CCE 19.0.0 optcg ICE in m_phase_change.fpp
Replace matmul() with explicit 2x2 matrix-vector multiply to avoid an intermittent CCE 19.0.0 internal compiler error (signal 13 segfault in optcg) when matmul is used inside a subroutine marked with both !$acc routine seq and !DIR$ INLINEALWAYS. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 45b31d9 commit a2c4d1d

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/common/m_phase_change.fpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,8 @@ contains
579579
InvJac = InvJac/(Jac(1, 1)*Jac(2, 2) - Jac(1, 2)*Jac(2, 1))
580580

581581
! calculating correction array for Newton's method
582-
DeltamP = -1.0_wp*(matmul(InvJac, R2D))
582+
DeltamP(1) = -1.0_wp*(InvJac(1, 1)*R2D(1) + InvJac(1, 2)*R2D(2))
583+
DeltamP(2) = -1.0_wp*(InvJac(2, 1)*R2D(1) + InvJac(2, 2)*R2D(2))
583584
584585
! updating two reacting 'masses'. Recall that inert 'masses' do not change during the phase change
585586
! liquid

0 commit comments

Comments
 (0)