mersenneforum.org mtsieve enhancements
 Register FAQ Search Today's Posts Mark Forums Read

 2020-12-27, 21:20 #67 ET_ Banned     "Luigi" Aug 2002 Team Italia 3×1,601 Posts Any hope to have either gfndsieve or dmdsieve on an ARM-64 platform, either with an ASM translation or with plain c routines? Just asking for a friend of mine...
2020-12-27, 23:10   #68
rogue

"Mark"
Apr 2003
Between here and the

6,247 Posts

Quote:
 Originally Posted by ET_ Any hope to have either gfndsieve or dmdsieve on an ARM-64 platform, either with an ASM translation or with plain c routines? Just asking for a friend of mine...
It might be possible, but I have no way to compile or test such code. I'm hoping that my wife will let me get an Apple laptop with the M1 CPU next year, but don't have a lot of hope for that. I believe that someone posted some ARM ASM FPU routines earlier in this thread. Someone with access to an ARM CPU could make the changes and do some testing. Fortunately gfndsieve and dmdsieve should be easy to get working if one has the necessary ARM functions. Until then I will look at producing versions that do not require ASM.

 2020-12-27, 23:18 #69 pepi37     Dec 2011 After milion nines:) 3·7·67 Posts Where srsieve2 store legendre table file? I use this command but after I stop srsieve2 I cannot find any new file srsieve2.exe -l -L legendre .txt -P 176362230330 .....
2020-12-28, 01:08   #70
rogue

"Mark"
Apr 2003
Between here and the

6,247 Posts

Quote:
 Originally Posted by pepi37 Where srsieve2 store legendre table file? I use this command but after I stop srsieve2 I cannot find any new file srsieve2.exe -l -L legendre .txt -P 176362230330 .....
That code is not implemented yet. It is not a small task. I started a while ago, but have a ways to go. You can continue to use sr1sieve/sr2sieve for now.

2020-12-28, 04:56   #71
Happy5214

"Alexander"
Nov 2008
The Alamo City

503 Posts

Quote:
 Originally Posted by ET_ Any hope to have either gfndsieve or dmdsieve on an ARM-64 platform, either with an ASM translation or with plain c routines? Just asking for a friend of mine...
Quote:
 Originally Posted by rogue It might be possible, but I have no way to compile or test such code. I'm hoping that my wife will let me get an Apple laptop with the M1 CPU next year, but don't have a lot of hope for that. I believe that someone posted some ARM ASM FPU routines earlier in this thread. Someone with access to an ARM CPU could make the changes and do some testing. Fortunately gfndsieve and dmdsieve should be easy to get working if one has the necessary ARM functions. Until then I will look at producing versions that do not require ASM.
That would be me and my ODROID-C4, though I apparently forgot to post a tarball of the entire set of translated ASM files (attached here). I haven't done any actual integration work with the mtsieve code yet, though I do have sample programs that check out. Looking at the two sieves in question, they appear to utilize the untranslated asm-ext routines in the App class (I only translated the x87 routines), so that would have to be dealt with.

As an aside, I briefly experimented with an Advanced SIMD/NEON implementation, but I gave up quickly when I realized that I couldn't vectorize the integer instructions, so all the instructions I thought I'd be saving would still have to be executed in some form.
Attached Files
 aarch64_asm.tar.gz (3.3 KB, 7 views)

2020-12-28, 13:25   #72
rogue

"Mark"
Apr 2003
Between here and the

6,247 Posts

Quote:
 Originally Posted by Happy5214 That would be me and my ODROID-C4, though I apparently forgot to post a tarball of the entire set of translated ASM files (attached here). I haven't done any actual integration work with the mtsieve code yet, though I do have sample programs that check out. Looking at the two sieves in question, they appear to utilize the untranslated asm-ext routines in the App class (I only translated the x87 routines), so that would have to be dealt with. As an aside, I briefly experimented with an Advanced SIMD/NEON implementation, but I gave up quickly when I realized that I couldn't vectorize the integer instructions, so all the instructions I thought I'd be saving would still have to be executed in some form.
I forgot about those. The easiest thing for now would be to disable -x and associated logic when building on a non-x86 CPU.

 2020-12-28, 14:40 #73 rogue     "Mark" Apr 2003 Between here and the 6,247 Posts There is a bug in this release that affects all exes that was introduced with factor validation. I'll fix it later today.
 2020-12-29, 14:29 #74 rogue     "Mark" Apr 2003 Between here and the 6,247 Posts I have posted 2.1.1 over at sourceforge and removed 2.1.0. Here are the changes: Code: 2.1.1 - December 29, 2020 framework: Fixed an infinite loop that occurs with the special CPU worker in GPU builds. Removed the factor validation logic added in 2.1.0 do to an issue with how I implemented it. gcwsieve, gcwsievecl: version 1.5 Added working factor validation logic with -I. Improved GPU speed by another 10%. Thanks to Yves Gallot for the code. mfsieve, mfsievecl: version 1.8 Added working factor validation logic with -I. Fix bug triggering invalid factor in the CPU code when minN is odd with factorials.
 2020-12-30, 21:57 #75 pepi37     Dec 2011 After milion nines:) 57F16 Posts Did you increase upper limit in srsieve2?
2020-12-30, 22:20   #76
rogue

"Mark"
Apr 2003
Between here and the

6,247 Posts

Quote:
 Originally Posted by pepi37 Did you increase upper limit in srsieve2?

I just posted 2.1.2 over at sourceforge.

Code:
2.1.2 - December 30, 2020
framework:
Retain factor counts when workers are rebuilt.

srsieve2:  version 1.3
Added factor validation logic when using -I.
Switched to Montgomery mulitplication, which is about 20% faster than the previous
logic.  This also gives a 20% speed bump and adds support for p up to 2^62.
And I have this on my wish list:

Code:
Added on December 29, 2020
framework:
Add ARM support
This is my last release for 2020.

 2020-12-30, 22:23 #77 pepi37     Dec 2011 After milion nines:) 3×7×67 Posts Great! so let test it! and first bug found fbncsieve.exe -P 6000000000000000 -i 1100.txt -o 1100.txt -f N -W6 -O s53factodes.txt fbncsieve v1.4, a program to find factors of k*b^n+c numbers for fixed b, n, and c and variable k Sieve started: 347880187459691 < p < 6e15 with 75104 terms (1014 < k < 1999948, k*10^1100000+1) (expecting 5887 factors) p=0, 22.89M p/sec, no factors found Last fiddled with by pepi37 on 2020-12-30 at 22:35

 Similar Threads Thread Thread Starter Forum Replies Last Post rogue Software 543 2021-02-27 18:43 rogue Software 287 2021-01-16 08:02 kar_bon No Prime Left Behind 10 2008-03-28 11:21 Greenbank Octoproth Search 2 2006-12-03 17:28 Reboot It Software 16 2003-10-17 01:31

All times are UTC. The time now is 02:33.

Sun Mar 7 02:33:23 UTC 2021 up 93 days, 22:44, 0 users, load averages: 1.19, 1.50, 1.59