Hi, Thanks for your feedback.
On 2/17/21 2:26 PM, Torbjörn Granlund wrote: > Marius Hillenbrand <mhil...@linux.ibm.com> writes: > Tested with the regression test suite and stressed with > tests/devel/anymul_1.c > > Please use tests/devel/try too. It checks for access outside of defined > operands, which is a common bug in GMP asm. Done, completed successfully for both mpn_addmul_1 and mpn_submul1. > 1. What is the measured speed difference of the existing code and the > new code? I measure ~40% reduction in cycles per limb on z14 and ~60% reduction on z15, for both addmul_1 and submul_1 (smaller gains for small n <10 but no regressions), yet ... > 2. Is the measured performance close to what you would hope for, given > some hard pipeline limits? If not, would you be willing to try to > improve things? ... I assumed that I hit max multiplication throughput, yet I just learned that there is potential to increase that further. I'll accept that challenge and keep working on the patch :) > As a rough measure, if the code is within 20% of theoretical maximum for > the target CPU pipeline, we're happy. If not, more unrolling, better > scheduling, a different instruction choice, might be tried. Code > complexity is also an issue, for sure. But addmul_1 is extremely > important for GMP's performance (in particular in the absence of special > mul_basecase and sqr_basecase) so complexity there is particularly > tolerated. Thanks for that guidance; that supports another idea I have in mind. > Your contribution is significant enough to need copyright paperwork from > you and IBM. IBM is FOSS-friendly, so I don't expect any problems, but > it might take a while. I went through the process before and already have copyright assignments in place for multiple GNU projects, including GMP, so we should be good from that side. Marius -- Marius Hillenbrand Linux on Z development IBM Deutschland Research & Development GmbH Vors. des Aufsichtsrats: Gregor Pillen / Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294 _______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org https://gmplib.org/mailman/listinfo/gmp-devel