Skip to Content.
Sympa Menu

cado-nfs - [cado-nfs] Unexpected behaviour in sqrt/sqrt

Subject: Discussion related to cado-nfs

List archive

[cado-nfs] Unexpected behaviour in sqrt/sqrt


Chronological Thread 
  • From: Patrick Lauer <patrick@gentoo.org>
  • To: cado-nfs@inria.fr
  • Subject: [cado-nfs] Unexpected behaviour in sqrt/sqrt
  • Date: Wed, 19 Mar 2025 13:43:15 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=patrick@gentoo.org; spf=Pass smtp.mailfrom=patrick@gentoo.org; spf=Pass smtp.helo=postmaster@smtp.gentoo.org
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:KldXd654OyUw2b2l5wPXwNnXdLJyesId70hD6qkDc31om6uj5q WTdZUgpH3JYVkqNU3I9erhBEDiex/hHPxOi7X5VI3KNGLbUQCTXeJfBOXZrQEIVxeQytJg
  • Ironport-phdr: A9a23:JlP14hwfprf1M+/XCzICwFBlVkEcU1XcAAcZ59Idhq5Udez7ptK+Z xaZva0m1QOUBtmTwskHotSVmpijY1BI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yN s1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDebRtEiCChbb9uI xm6sArcu8kYjIZtN6081gbHrnxUdutZwm9lOUidkxHg6Mmu4ZVt6T5Qu/Uv985BVaX1YaE1R qFGATolLm44+tTluQHMQgWT6HQcVH4WkgdTDAje8B76RJbxvTDkued7xSKXINf5TbEwWTSl8 qdrVBrlgzoJOjIl7G3ajNF7gaRGqxyjuhN/2ZbZboKbOvVxcKzTY9MUS3ddUcheTCFBHoGxY pETA+YdI+pVrY/wrEYOoxukAgmsAfvixCVSiX/qx6060vguEQLb1wImBd0OrWrbrM/oP6oVS eC61rXIzS/Cb/xK2jfw84fIfQ4nofGQWrJwdtDdyU41FwPKl1idr5HuMDyJ2OoXqWeb8/ZgW vy1i24hswx8pjiiytssh4fJho8bxFPJ+yp7zYg1JdC1VlJ3bNCqHpZNtCyUOIt4T98gTm12p Ss3ybILtIC/cSUJxpoqyQDSZvqaeIaL+hLuTPudLDhkiH5/Zr6zmgu+/VK9xuD9V8S4yktGo ylLn9XUqHwBywDf58aCR/Rh5Eis3DaC1w7d5+1YJE07i6nWJ4I9zrM1iJYesVjMEjHzlUrsk aOZbUEp9+225Oj5bLXpu5qROo10hwz/PKQjnNG0DPo8MggTRGib5fqz1Kf+8034QbRFkOU7n rXfvZvHP8oUvLS5DBVQ0os76xawETOm0NMAkHkcKVJFZAqHg5LmO17QJvD4EfC/g1O2nDds3 fDGMaXtApTLLnfdjLfsZatx5kFAxAYp09xT+o9YBqscLP/yW0L9rsHUAxw3PgCsxuboEtR91 ocQWWKVBa+ZNbvfsUeS6eIzOemMZZMauDXmJvgq+fHui2M5mVgafaWz2psXcn+4EuxgI0qCe XXsmMsOEX8WvgoiS+znkECOXSZJZ3muR6I8+i07CIW+AIjfXI+inbuB0D69Hp1YfWBLEUuME Hftd4WcQfgAciOSIsl7kjwFT7etUYEh1Qv9/DP9nrFuIu2R/CMDnZPlztl8oePJxj8o8jkhN 82ByWCGTClQl34FXXdixKlju012yX+M3K5khPseEsZcsaAaGjwmPILRmrQpQ+v5XRjMK4/ho DeOR9ynBWt0Vdct25oUZE07Hdy+jxfF1i7sArkPlrXNCoZnurnE0S3XIMBwg23DyLFnl0MvF 9NGKXenja1X+AXVG4nO1UKDmPXibrwSiRbE73zL1m+SpAddWQ90X7/CWCUHb1fMrN/6zkzPS aOpDvIgKAQSgdWaJP5yY8byxU5DWO+lONnaZDepnHysAB+T2r6WRJHvZ31b0yjbFE8D1QcJ8 h5qLCAYASGs6yLbBT1qTxf0Zl/0tPN5ozW9R1M1yAeDawtg0aC081gbn67UTfRbxb8CtCo7z lc8VF+gw9LbDcaBrAt9be1dZ906+lJOyWPesUR0IJWhK6loglNWfR5wugvi0BB+C4MIlsZPz jti1ANuM6OT03tOejWE2pe2PafYayHz8B2pd6/KywTGyt/FsqwL6fk+txDipFTwShJkqSw+l YALjT3Fts6ZaWhaGYj8WUs26RVg8rTTYy1nopjRyWUpK66/9DnLx9MuAuIhjBemZdZWdq2eR 2qQW4UXAdajLOsylh2ndBUBaapK/bIuPsilX/SL3rKsO6Bnhj3s3gElqMhtl1mB8SZxULuCx 58Z2fCT3SOIWjHgi1Dntdr409MMdXQZGWyxzjLhDYhaa/hpfIoFPmypJtW+2tR0g5OFt2dwz Fe4HBtG3caofUDXdFnhxUhK0k9Rp3W7mCy+xjgykjczr6PZ0jaci+jlcRMGPCZMSgwAxR/0K JSujtsZdEelaRQuk12i/0myy6VApat5JnXeWg8RI3CwdTg7FPLu6PzbM5UH4YhgqShNVeWgf V2WL9y16wAX1S/uBSoWxTw2cS2rpoSsmhV7jGyHK3Mg5HHdeMx22VLe/ImFGaYXhGNfAnAm1 3+OVgPvWrvhtc+ZnJrCrO2kAmeoV5kJNDLu0ZvFriywo2tjHRy4mfm33NzhCwkzlyHhhLwIH W3FqgjxZo7z2uG0K+ViKwNwDUPm6sF5Mo5zlJc3g9cXw3dQ1fD3tTIX1Hz+N9lWw/e0dHMRX z8AwPba7Q7530olKWiGjdGxRjCWxc1vYMO/a2Ud13cm7sxEP6yT6aRNgSp/plfryGCZKeg4h DoWzuEirWILm+xc8hR41T2TW/pBVVkdJyHnkA6EqsyzvLkCLnj6aqC+jS8c1ZioXqqHvhkaV 3v/ZpAlWyhq4Y12YlbNy2HorI7pfsXXapQUrBLcmkXEjvNJM448jeZMiidhJWX6+3o/xItZx VRv25q+oYSKeVJr8b6zBhlTNSazfNsdvD7gi7pZmYCRxY/KfN0pGzMAWIbkQKDlAzYH87n0M BPICyUy7HiWH6bYGkmY8kgu+HvLF9rD22i/HHAC1p0iQRCcIBYamwUIRHAgmZV/EAm2xcvne UM/5zYL51e+pAEegu5vMhD+VC/YqmLKIn8sT4ODKRNN8gxYz1zQLdTY4e91AyZfuJq7o0SBJ 3eaaAJBEWwSEhXYXxa5Z+DovIeetbHIXaK3NJ6sKf2WpPZbVuuUyJ7nyYZg8zuWd42OMnRkE /wnyx9DUHR+SIzSnzQCTTBSljqYNpLD4k3lo2su8J75qaSwC2eNrcOVBrBfMMti4UWziKaHb auLgTphbCxf3dUKzGPJz74W2BgTjTtvfn+jC+dl12aFQaTOl6tQFxNeZTl0MZ4C96sgxAhGO ubUh9Xp0bk+ieQ6QQQgNxSpioSyaMoGLnvofkvAH1qOPa+aKCfj2MTreeWzRLtMi+ISsAe/8 2X+cQerLnGIkD/nUAqqOOdHgXSAPRBQj4q6dw5kFWnpSN+1Ig3+KtJ8iic6hKElnn6ff3BJK iByKgkey9/YpTMdmPh0HHZNq2ZoPfXR0TjM9PHWc94f4+BuHjwymO9c/HM9jbxP42lNFvh0g zfJ6NFjpU2hla+I0DUCMlIGqzBAgJ+HsBdVP6jF/J1HUnXfugkV4yOfBhIWoNwjDcfg3sIYg tnJn6buJDoQvsHQ6I1RFM/BbtmfPjwuPBz1HzmSCxEKBWmiMWWV76SyuP6f8GGSqd49sJe+w fLmq5dAUUAtUPwXDFhiG5oFOpglB1vMdJaUgcgU4n34qwPeFp0ygw==
  • Ironport-sdr: 67dabbeb_1M69C/rrnotOPYFd2fcKbs5VS6uQTWbWHrwb4VR2VJhM8JT RfYcWT2h76WnK0KL66RoDOnp2mHVL4qnllaYXYA==

Hello happy people,

I've stumbled across a strange interaction in sqrt that might be considered a bug, or maybe it's just a lack of documentation.

The origin of this is that there's two strategies for parallel processing: classical threads, and OpenMP.

With OpenMP disabled everything works as expected. But with OpenMP enabled the omp-accelerated parts try to use $(nproc) threads, and the previous parallelism implementation then runs by default $(nproc) threads, each of which is OpenMP-accelerated.

The result is that instead of N threads it starts N^2 threads, and memory usage goes weird. For comparison:

sqrt/sqrt -poly RSA-150.poly -prefix RSA-150.dep -dep 0 -t N -side0 -side1 -gcd

-t 1:
Total usage: time 379s (cpu), 61s (wct) ; memory 7197MiB, peak 7365MiB
-t 2:
Total usage: time 774s (cpu), 77s (wct) ; memory 13518MiB, peak 13902MiB
-t 4:
Total usage: time 1912s (cpu), 124s (wct) ; memory 22558MiB, peak 23327MiB

As you can see the memory usages spikes quite nicely, leading to an OOM quite easily. -t 24 needs around 80-90GB RAM for this case, and is very unpleasant.

As a workaround it's best to always set tasks.sqrt.threads=1

But this leaves open the question what the expected behaviour is - should the 'old' threading implementation be disabled with OpenMP in use? Should the OpenMP bits honour a command line config for parallelism?

I'm not sure what to do here, but I hope that at least this helps people avoiding accidental OOM.

Have fun,

Patrick



  • [cado-nfs] Unexpected behaviour in sqrt/sqrt, Patrick Lauer, 03/19/2025

Archive powered by MHonArc 2.6.19+.

Top of Page