yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #14957
Re: Do we want low precision float in the gitlab CI pipeline?
(sorry for previous empty message)
Hi,
I don't think DEM can realistically work with floats. If 100 particles in a
row are elongated by 0.01%, the relative displacement between the 99th and
100th particles is 1e-6 times the positions. With single precision it would
already produce substantial numerical noise in terms of contact force.
I mentioned single precision in relation with solving linear systems with
cholmod, and that part does not support HP.
I think we can skip the float pipeline. :)
Cheers
Bruno
On Sun, 1 Mar 2020 at 16:24, Janek Kozicki (yade) <jkozicki-yade@xxxxxxxxx>
wrote:
> Hi,
>
> The high precision tests are now running in the gitlab pipeline. And
> we can be sure that `double` are not getting by accident into master.
> (except for the modules which are not supported by HP right now [1],
> in there some `double` could sneak in)
>
> This work also makes low-precision possible. I didn't add this to the
> pipeline, thinking it's not of much use. In some comment Bruno
> mentioned that some people want to use float in the GPUs to get the
> results faster. (Whether these results are correct is a topic for a
> different discussion :)
>
> I could prepare a merge request that adds float to the pipeline,
> because it is compiling (so it works) but it is not passing the tests.
>
> The disadvantage is that in many test scripts an exception will have
> to be written using following distinction:
> if (yade.config.highPrecisionDecimalPlaces < 7):
>
> That's because some of the tests produce different results when float
> is used, which is not a surprise ;)
>
> Currently yade --check has following failures on float:
>
> 7 checks are failed
> checkColliderConstantness.py
> checkViscElEng.py
> checkPotentialParticles.py
> checkColliderCorrectness.py
> checkJCFpm.py
> checkWirePM.py
> checkCapillaryModels.py
>
> And yade --test also has similar errors due to only 6 available
> decimal places. The log is longer, so I attach it.
>
> And most of these failures are because the results are compared with
> 1e-8 precision, while float maximally can offer 6 decimal places.
>
> best regards
> Janek
>
>
> [1]
> https://yade-dev.gitlab.io/-/trunk/-/jobs/455155443/artifacts/install/share/doc/yade-ci/html/HighPrecisionReal.html#supported-modules
>
>
>
> --
> Janek Kozicki, PhD. DSc. Arch. Assoc. Prof.
> Gdańsk University of Technology
> Faculty of Applied Physics and Mathematics
> Department of Theoretical Physics and Quantum Information
> --
> http://yade-dem.org/
> http://pg.edu.pl/jkozicki (click English flag on top right)
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help : https://help.launchpad.net/ListHelp
>
--
--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53
38041 Grenoble cedex 9
Tél : +33 4 56 52 86 21
________________
Email too brief?
Here's why: email charter
<https://marcuselliott.co.uk/wp-content/uploads/2017/04/emailCharter.jpg>
Follow ups
References