← Back to team overview

yade-dev team mailing list archive

Re: Do we want low precision float in the gitlab CI pipeline?

 

OK, thanks :)

And thanks for the link to sudoDEM :)

Bruno Chareyre said:     (by the date of Sun, 1 Mar 2020 21:48:19 +0100)

> (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>


-- 
--
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)


References