Tuneup using size_ratio

marco.bodrato at tutanota.com marco.bodrato at tutanota.com
Wed Dec 27 11:39:45 CET 2023


Ciao,

23 dic 2023, 21:02 da nisse at lysator.liu.se:

> marco.bodrato at tutanota.com writes:
>
>> But if I measure the speed with the ratio 0.7 or 0.8 I get quite
>> different thresholds, which one should we use?
>>
> Maybe crossover is rather flat, i.e., a wide range with very small
> difference in performance?
>

Actually, looking at the colored bi-dimensional maps we still have under the title "New Toom multiplication code for unbalanced operands" on page https://gmplib.org/devel/ , I believe that the line representing the thresholds are more complex than a straight un=constant or vn=constant. (un+vn is more appropriated,  when dealing with FFT, but non necessarily good on other border lines).

I would like to reproduce those maps with the current toom6h and toom8h, to see what changed.


> I hope these changes should make it easier to
> investigate such things.
>

I believe that those changes are interesting! The threshold system is complex for the unbalanced operations, anyway. Those changes suggest us to mark more clearly on the names of the thresholds which line was used to measure it.
I mean, if it's probably quite obvious that the threshold toom42-toom63 is measured on a 2x1 ratio line, it may not be as obvious for other thresholds.
Moreover, on the 2x1 line, we have the MUL_TOOM42_TO_TOOM63_THRESHOLD, but we are not measuring the TOOM63_TO_TOOM6h and TOOM6h_TO_TOOM8h on that line. Should we use those functions?

> I intend to push this change in a few days. Have a nice Christmas!
>
May it be useful to add also the "/r" option for mpn_nussbaumer_mul?

And now, have a happy new year!

Ĝis!
mb


More information about the gmp-devel mailing list