Open drew-parsons opened 1 year ago
See #2556 for an issue with this demo, which might or might not be related.
"less common architectures"... got it failing on i386 now https://ci.debian.net/data/autopkgtest/testing/i386/f/fenics-dolfinx/35412547/log.gz
I'm working on it. The demo is actually over-complicated and requires some simplifications. But I'll also review the tolerances used.
As Garth indicated, demo_pml.py has similar issues. After rebuilding with gcc-13, I'm now getting the same kind of error in demo_pml.py (on amd64 this time),
----------------------------- Captured stdout call -----------------------------
['mpiexec', '-np', '3', '/usr/bin/python3', 'demo_pml.py']
Info : Meshing 1D...
Info : [ 0%] Meshing curve 1 (Circle)
...
Info : [100%] Meshing curve 31 (Line)
Info : Done meshing 1D (Wall 0.00763787s, CPU 0.00764s)
Info : Meshing 2D...
Info : [ 0%] Meshing surface 1 (Plane, Frontal-Delaunay)
...
Info : [100%] Meshing surface 12 (Plane, Frontal-Delaunay)
Info : Done meshing 2D (Wall 0.847349s, CPU 0.847278s)
Info : 7767 nodes 16095 elements
Cannot write Esh.bp: VTXWriter (adios2) is not available
Cannot write Esh.bp: VTXWriter (adios2) is not available
Cannot write Esh.bp: VTXWriter (adios2) is not available
Cannot write E.bp: VTXWriter (adios2) is not available
Cannot write E.bp: VTXWriter (adios2) is not available
Cannot write E.bp: VTXWriter (adios2) is not available
The analytical absorption efficiency is 0.9089500187622276
The numerical absorption efficiency is 0.9075812316991292
The error is 0.15058991526974808%
The analytical scattering efficiency is 0.8018061316558375
The numerical scattering efficiency is 0.7911945506164945
The error is 1.3234597018394794%
The analytical extinction efficiency is 1.710756150418065
The numerical extinction efficiency is 1.6987757823156238
The error is 0.7002966553423526%
----------------------------- Captured stderr call -----------------------------
Traceback (most recent call last):
File "/tmp/autopkgtest.90aLKs/tree/python/demo/demo_pml/demo_pml.py", line 620, in <module>
Traceback (most recent call last):
File "/tmp/autopkgtest.90aLKs/tree/python/demo/demo_pml/demo_pml.py", line 620, in <module>
Traceback (most recent call last):
File "/tmp/autopkgtest.90aLKs/tree/python/demo/demo_pml/demo_pml.py", line 620, in <module>
assert err_sca < 0.01
assert err_sca < 0.01
^^^^^^^^^^^^^^
AssertionError
assert err_sca < 0.01
^^^^^^^^^^^^^^
AssertionError
^^^^^^^^^^^^^^
AssertionError
@IgorBaratta any update on simplifying the demos?
I have looked only at demo_axis
, but I'm thinking that similar enhancements might apply to demo_pml
as well.
I plan to address these issues and submit a pull request in the next few days.
@IgorBaratta is this still an issue?
I haven't reviewed this in a while, but I have a branch where I started addressing some of the issues. I'll get back to you soon.
How to reproduce the bug
The complex-number python demo in dolfinx 0.6, demo_axis.py, often (though not always) fails on less common architectures like armel, armhf, s390x.
The error is a somewhat larger error in the complex calculated quantities, scattering error 16.9% instead of 0.36%, extinction error 1.65% instead of 0.40%. A sample test error from s390x is copied below
The demo does not always fail, e.g. armel apparently passed with glibc 2.37 here
Other less common architectures pass, such as ppc64el
Could there be assumptions in the complex number code that don't hold on all architectures? There is some Redhat gcc complex number discussion, for instance, at https://bugzilla.redhat.com/show_bug.cgi?id=1918519
Minimal Example (Python)
demo_axis.py
Output (Python)
Version
0.6.0
DOLFINx git commit
debian build 0.6.0-2
Installation
debian CI test run using debian builds from official debian buildds (armel, armfl, s390x)
Additional information