Skip to content

Github CI: Laplace Dirichlet 3D example occasionally runs into increasing GMRES residuals #57

@inducer

Description

@inducer

Like this:

 -----------------------------------------------------------------------
RUNNING ./laplace-dirichlet-3d.py
-----------------------------------------------------------------------
IT        0 1.55434597e+01
IT        1 6.94270121e+00
IT        2 3.52489688e+00
IT        3 3.36265158e+00
IT        4 2.97770742e+00
IT        5 2.72544530e+00
IT        6 2.68395559e+00
IT        7 2.59318187e+00
IT        8 2.59154516e+00
IT        9 2.40918314e+00
IT       10 1.30052827e+02
/home/runner/work/pytential/pytential/pytential/symbolic/primitives.py:1571: UserWarning: specified the name of the direction vector
  return DirectionalSourceDerivative(
/home/runner/work/pytential/pytential/.miniforge3/envs/testing/lib/python3.8/site-packages/sumpy/kernel.py:1020: UserWarning: specified the name of the direction vector
  return type(kernel)(
/home/runner/work/pytential/pytential/.miniforge3/envs/testing/lib/python3.8/site-packages/loopy/check.py:251: LoopyWarning: in kernel p2p_from_csr: Found unused inames in kernel: frozenset({'idim'}) Unused inames during linearization will be prohibited in Loopy version 2021.X. (add 'unused_inames' to silenced_warnings kernel attribute to disable)
  warn_with_kernel(
/home/runner/work/pytential/pytential/.miniforge3/envs/testing/lib/python3.8/site-packages/loopy/check.py:251: LoopyWarning: in kernel p2qbxl_from_csr: Found unused inames in kernel: frozenset({'idim'}) Unused inames during linearization will be prohibited in Loopy version 2021.X. (add 'unused_inames' to silenced_warnings kernel attribute to disable)
  warn_with_kernel(
/home/runner/work/pytential/pytential/.miniforge3/envs/testing/lib/python3.8/site-packages/sumpy/kernel.py:1020: UserWarning: specified the name of the direction vector
  return type(kernel)(
Traceback (most recent call last):
  File "laplace-dirichlet-3d.py", line 179, in <module>
    main()
  File "laplace-dirichlet-3d.py", line 134, in main
    gmres_result = gmres(
  File "/home/runner/work/pytential/pytential/pytential/solve.py", line 293, in gmres
    result = _gmres(op, rhs, restart=restart, tol=tol, x0=x0,
  File "/home/runner/work/pytential/pytential/pytential/solve.py", line 170, in _gmres
    raise GMRESError(state)
pytential.solve.GMRESError: non-monotonic residuals

I've only observed this on Github, not Gitlab. This may indicate that it's less likely to happen when more cores are available, i.e. possibly some synchronization thing.

Here's a run that exhibits this: https://github.com/inducer/pytential/runs/1832875842?check_suite_focus=true

As far as I remember, this has been happening for a while. I think I have an email from Jan 16 where this occurred, potentially even earlier. Delinquently, I've often just rerun the CI job which typically resolved the failure, until it would reoccur on a subsequent run.

The recent failures under discussion in #56 are distinct IMO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions