mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2020-12-27, 21:20   #67
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

2·74 Posts
Default

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...
ET_ is offline   Reply With Quote
Old 2020-12-27, 23:10   #68
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

624610 Posts
Default

Quote:
Originally Posted by ET_ View Post
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.
rogue is online now   Reply With Quote
Old 2020-12-27, 23:18   #69
pepi37
 
pepi37's Avatar
 
Dec 2011
After milion nines:)

2·19·37 Posts
Default

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 .....
pepi37 is offline   Reply With Quote
Old 2020-12-28, 01:08   #70
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·32·347 Posts
Default

Quote:
Originally Posted by pepi37 View Post
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.
rogue is online now   Reply With Quote
Old 2020-12-28, 04:56   #71
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

1F616 Posts
Default

Quote:
Originally Posted by ET_ View Post
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 View Post
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
File Type: gz aarch64_asm.tar.gz (3.3 KB, 7 views)
Happy5214 is offline   Reply With Quote
Old 2020-12-28, 13:25   #72
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2×32×347 Posts
Default

Quote:
Originally Posted by Happy5214 View Post
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.
rogue is online now   Reply With Quote
Old 2020-12-28, 14:40   #73
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

186616 Posts
Default

There is a bug in this release that affects all exes that was introduced with factor validation. I'll fix it later today.
rogue is online now   Reply With Quote
Old 2020-12-29, 14:29   #74
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

2·32·347 Posts
Default

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.
rogue is online now   Reply With Quote
Old 2020-12-30, 21:57   #75
pepi37
 
pepi37's Avatar
 
Dec 2011
After milion nines:)

2·19·37 Posts
Default

Did you increase upper limit in srsieve2?
pepi37 is offline   Reply With Quote
Old 2020-12-30, 22:20   #76
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

186616 Posts
Default

Quote:
Originally Posted by pepi37 View Post
Did you increase upper limit in srsieve2?
Funny that you ask...

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.
rogue is online now   Reply With Quote
Old 2020-12-30, 22:23   #77
pepi37
 
pepi37's Avatar
 
Dec 2011
After milion nines:)

2·19·37 Posts
Default

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
pepi37 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
mtsieve rogue Software 543 2021-02-27 18:43
srsieve/sr2sieve enhancements rogue Software 287 2021-01-16 08:02
LLRnet enhancements kar_bon No Prime Left Behind 10 2008-03-28 11:21
TODO list and suggestions/comments/enhancements Greenbank Octoproth Search 2 2006-12-03 17:28
Suggestions for future enhancements Reboot It Software 16 2003-10-17 01:31

All times are UTC. The time now is 13:35.

Thu Mar 4 13:35:48 UTC 2021 up 91 days, 9:47, 1 user, load averages: 3.05, 2.96, 2.89

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.