Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] Determinism of parallel algorithms
- Date: Tue, 26 Jul 2022 17:33:39 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:VieematdpFpraq+CnaRRUjWokufnVGRYMUV32f8akzHdYApBsoF/q tZmKTqDPK6IYGCmfI8ibd6x8xwC75PXmtUwQAQ+qnwwFSJGgMeUXt7xwmXYb3rDdJWbJK5Ex 5xDMYeYdJhcolv0/ErF3m3J9CEkvU2wbuOgTraCYEidfCc8IMsboUsLd9UR38g52rBVPyvX4 Ymo+5KFZQf/s9JJGjt8B5yr+EsHUMva42twUmwWPZina3eD/5W9JMt3yZCZdxMUcKEMdgKJb 7qrIIWCw4/s10xF5uVJPVrMWhZirrb6ZWBig5fNMkSoqkAqSicais7XOBeAAKtao23hojx/9 DlCnZnuWBpxHq/sofYEaAQHST1cJ5AW24aSdBBTseTLp6HHW37lwvErE0RveINEpqB4BmZB8 fFeIzcIBvyBr7jukfTrF6813JRlcJWD0IA34hmMyRnCCfE8QJffBaDOzdBd1TY0wMtJGJ4yY uJDMWM/PEyZPXWjPH8VLdUQscjwn0LuXGJdtVKzmJUJvHTcmVkZPL/FaYKJILRmX/59lUmRo ifK/n/yHwoBHMeOzCKMtHOqnO7G2y3hML/+D5W9//9uxUKWnykdVEFQWly8rv20zEW5XrqzN nD45AIr87kvrGypbuDvRial/ySYnAQhC/lpRrhSBB629oLY5AOQB24hRzFHacA7uMJeedDM/ g/Z9z8OLWw/2IB5WU5x5Z/P8mzvYXl9wXsqIH5bHVFcsrEPtalq1kqXJuuPBpJZmTEcJN0d6 zWDrSx7mLBKyMBXi+O0+lfIhz/qrZ/MJuLU2uk1djL1hu+aTNT9D2BN1bQ9xagZRGp+ZgfY1 EXoY+DEsIgz4WilzURhutklErCz/OqiOzbBm1NpFJRJ323zpi78ItsAum8gfB8B3iM4ldnBM B+7VeR5tM87AZdWRfIfj3+ZUJl1kfi4T7wJqNiNPoUePPCdizNrDAk3PRLKt4wcuEcrlq47N P+mnTWEXB4n5VBc5GPuHY81iOd1rghnnD+7bc2lknyPjOXGDFbIGO9tGAbfNYgRsfLUyC2Lq Yo3H5XRkH13DrauChQ7BKZJcjjm21BgVc6owyGWH8bfSjdb9JYJUKeLn+l+KtE0wMy4VI7gp xmAZ6OR83Kn7VWvFOlAQikLhGrHUcktoHQlEzYrOFr0iXEvbZz+vqgafpozO7Ig8bU7n/JzS vAEfeSGA+hOGmyXoWRDMcGlodwwbgmviCKPIzGhP2oycptmcArDpY3pcw7pwy8RA3flrsA5u bChiljWTMNbFQRvBcrbcty1yFa1sSRPke5+RRqaLdxaeUGq+49vcnSjgvgyKsAKCBPC2jrKj 1bMUUlE/bHA+tZn/sPIiKaIq5aSP9F/RkcKTXPG6buWNDXB+jXxzIJFVtGOd2+PWW7x/pKke rwJnfzxNfswnGFKvZB5JLBlwP9s/NDovbJbkl1pEXiXPVSmDrRsfiuP0cVV7PYfw7ZYvU6pX xvK9IUGf7qOP8zhHRgaIw98NraP0vQdmz/z6/UpIRWluHUmouLfCUgCbQORjCF9LaduNN93y +kWvsNLuRe0jQAnM4rbgy0IpX6AKGcMD/cuup0AWtS5jwMqzhRdZMWZBHOqpp6IbNpIPw8hJ TrN3PjOgLFVx0zjdXsvFCiSgbAM28xW4B0ankUfI1mpm8begqNl1hNm9zlqHB9eyQ9K0r4uN 2VmX6GvyX5iI9u1aAl/s2GQ98VpARSY/gnuzgJMmjGFCUavUWPJISs2PuPlEIX1NY5DVmAzw V1a4D+NvfXWkAXZ0S47WEojoPvmJTC03hOXg9ipRqxpALFjCQcIQcaSia4gpB7uAMd3j0rCz QWvECCcdoWjXRMtT2YH50V2GFjepN1o5ICPfB25wJ40IA==
- Ironport-hdrordr: A9a23:EccAJ639dyUQNjqu/L3h2gqjBIEkLtp133Aq2lEZdPRsGfbo8/ xG/c5rtyMc7Qx7Mk3I9ursBED+ewKkyXcY2+Us1NSZLWrbUQmTTb2KhLGKqwEIfReQygc378 ddmsZFZuEZKjNB/KPHCDLSKadG/DG/m5rY49s2xk0dNT1XVw==
- Ironport-phdr: A9a23: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 oSJm6X0JzNPtdnT+JlEb/U=
- Ironport-sdr: /mTJG6qDD04SNOj+03+fNJMvP+zrfvPk6VJei0o9f29E8l+xuRDPB//I98NALP1yFrVwZmdI7d N4ncOrdcmLobevBa4Zn61jN7hLEHjkMmDApLzlUko7ZArFQjEXUEPP667eLjOJiI5DD+dIHJ1x Z6TO/yYRaEC2Xg0aI3xrh79DcGFAnD821Ppudnq5aaowkXL8X8+ySYlKavJ5mNTL0PcXYRcoFk vyHo9zcJuRRhHiaLjaSDFxcdHIHCIUIVSHWfT33/KLCNyGFhil3oPWjXYrFj7ZSqEllfqjcjtv WewsgT8VdnApiI2PyjNatM4M
I think it will depend on the package/algorithm that is used. For example I know that some effort has been made to make Mesh_3
deterministic even when parallelism is used.
For spatial sorting, there is an initial random sampling so no
seeding is used it is not deterministic, even in sequential.
So unfortunately, except without a careful look to how the
parallelism is used in the packages you are using I can't
give you an answer.
Best,
Sebastien.
On 7/23/22 05:23, Niklas Hambüchen ( via cgal-discuss Mailing List) wrote:
Hi,
I'm learning about CGAL's TBB-based parallelism features, such as:
* parallel spatial sorting
* parallel KD tree creation
* parallel triangulation creation
What I can't conclude from the docs:
Do these functions guarantee determinism (scheduling will not affect the results), or even guarantee to give the exact same results as their sequential variants?
I imagine that divide-and-conquer methods like KD trees and sorting should make determinism easy, while for triangulations I can imagine that the order of point insertions will make it hard.
Beyond those specific cases:
What is CGAL's general stance on parallelism determinism -- is the library's default goal to provide determinism, or can it only be expected if explicitly documented?
I would like to make my use cases faster with parallelism, but only if I do not lose determinism for reproducibility.
Thanks for the info!
Niklas
- [cgal-discuss] Determinism of parallel algorithms, Niklas Hambüchen, 07/23/2022
- Re: [cgal-discuss] Determinism of parallel algorithms, Sebastien Loriot, 07/26/2022
- Re: [cgal-discuss] Determinism of parallel algorithms, Niklas Hambüchen, 07/31/2022
- Re: [cgal-discuss] Determinism of parallel algorithms, Sebastien Loriot, 07/26/2022
Archive powered by MHonArc 2.6.19+.