Bitcoin Forum
May 24, 2024, 09:46:51 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20]  All
  Print  
Author Topic: [ANN] cpuminer-opt v24.2, Optimized multi-algo CPU miner for x86_64 and AArch64  (Read 9901 times)
JayDDee (OP)
Full Member
***
Offline Offline

Activity: 1397
Merit: 221


View Profile
May 01, 2024, 04:57:25 AM
 #381

Although I have been able to compile Xmrig on my Rpi 4, none of your recent crypto builds worked.  I finally was able to purchase an Rpi 5 from Adafruit and will try again.

I have several Orange Pi 5 boards mining Verus coin.  I'll be able to check the Rpi 5 hashrate in comparison.

I think I missed this point. The Windows builds won't work on RPI or OPi, they're for X86_64 not Arm.
If you have problems compiling on RPi (or OPi) with Linux it's probably missing packages. It may depend on how you install Linux.
If you installed from an custom image file it may not have all necessary packages. I installed using using normal installation
procedure for Ubuntu using the Arm server ISO and had no issues compiling afterward.

scryptr
Legendary
*
Offline Offline

Activity: 1796
Merit: 1028



View Profile WWW
May 15, 2024, 02:01:47 PM
 #382

Although I have been able to compile Xmrig on my Rpi 4, none of your recent crypto builds worked.  I finally was able to purchase an Rpi 5 from Adafruit and will try again.

I have several Orange Pi 5 boards mining Verus coin.  I'll be able to check the Rpi 5 hashrate in comparison.

I think I missed this point. The Windows builds won't work on RPI or OPi, they're for X86_64 not Arm.
If you have problems compiling on RPi (or OPi) with Linux it's probably missing packages. It may depend on how you install Linux.
If you installed from an custom image file it may not have all necessary packages. I installed using using normal installation
procedure for Ubuntu using the Arm server ISO and had no issues compiling afterward.

THE CODE COMPILES
=============

My Rpi 5 and Opi 5 units, also my Rpi 4, have all successfully compiled v24.1.  I used the "ARMv8" build script after finding a hint in the above reply. The "necessary packages" may have been missing.

After using your very latest prerequisite string, the build went to completion.  The executable worked on each unit, printing out help.txt and Version info in each case.  But, the Rpi 4 errored out when attempting to mine YescriptR16, likely due to its incomplete set of crypto instructions.  It is currently mining Zephyr with XMRIG 6.20, slowly.

The Rpi 5 mines Verus at about 4850kH/s, the Opi 5 units at about 6800kH/s.  They are using Oink's ccminer.  I also have some older CPUs mining Verus with Monk's ccminer.

Perhaps you should look into a CCminer-Opt branch?  A fine tune may really improve performance.  Monk's version gets a lot of rejects at times.       --scryptr 

TIPS:  BTC - 1Fs4uZ6a9ABYBTaHGUfqcwCQmeBRxkKRQT    DASH - XrK81tW31SLsVvZ2WX9VhTjpT6GXJPLdbQ
          SCRYPTR'S NOTEBOOK: https://bitcointalk.org/index.php?topic=5035515.msg46035530#msg46035530
          GITHUB: "github.com/scryptr"  MERIT is appreciated, also.  Thanks!
JayDDee (OP)
Full Member
***
Offline Offline

Activity: 1397
Merit: 221


View Profile
May 15, 2024, 03:07:18 PM
Last edit: May 15, 2024, 04:08:11 PM by JayDDee
 #383


THE CODE COMPILES
=============

My Rpi 5 and Opi 5 units, also my Rpi 4, have all successfully compiled v24.1.  I used the "ARMv8" build script after finding a hint in the above reply. The "necessary packages" may have been missing.

After using your very latest prerequisite string, the build went to completion.  The executable worked on each unit, printing out help.txt and Version info in each case.  But, the Rpi 4 errored out when attempting to mine YescriptR16, likely due to its incomplete set of crypto instructions.  It is currently mining Zephyr with XMRIG 6.20, slowly.

The Rpi 5 mines Verus at about 4850kH/s, the Opi 5 units at about 6800kH/s.  They are using Oink's ccminer.  I also have some older CPUs mining Verus with Monk's ccminer.

Perhaps you should look into a CCminer-Opt branch?  A fine tune may really improve performance.  Monk's version gets a lot of rejects at times.       --scryptr  

Thanks for the update. I'd lke to see the errors on RPi4. Is it only yescryptr16 that fails? Is it an error or crash? Are you building with -march=native or -march=armv8? Native is usually preferred
unless the CPU isn't known to the compiler. Edit: This is usually only necessary with new CPUs and old compilers.

Another note, CPU feature reporting isn't working on ARM but SW features are. If you build with -march=native the SW features should match the CPU's actual features,
except that I haven't yet figured out how to detect the ARM minor version, so you only see armv8, not armv8.N.

I'm not looking at adding Verus. There's no code resuse with cpuminer so it would be adding bloat. Oink's version is already optimized so I probably wouldn't be able to improve it.

scryptr
Legendary
*
Offline Offline

Activity: 1796
Merit: 1028



View Profile WWW
May 16, 2024, 07:21:30 PM
 #384

ERROR MESSAGE
===========

Yesterday I tried again to use Cpuminer-Opt with my Rpi-4, and in comparison, with my Rpi-5. The results follow:

Rpi-4--

                         **********  cpuminer-opt 24.1  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AVX512, SHA and VAES extensions by JayDDee.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

CPU: ARM 64 bit CPU, HWCAP 00000887
SW built on May  7 2024 with GCC-12.2.0 Linux
CPU features:  AArch64 NEON
SW features:   AArch64 armv8 NEON  AES SHA256
Algo features:        SSE2   NEON   SHA256
[2024-05-15 15:25:57] Enabled optimizations: NEON
[2024-05-15 15:25:57] CPU affinity [!!!!]
[2024-05-15 15:25:57] Stratum connect stratum+tcp://yespowerr16.mine.zergpool.com:6534
[2024-05-15 15:25:57] API listening to 127.0.0.1:4048
[2024-05-15 15:25:57] 4 of 4 miner threads started using 'yespowerr16' algorithm
[2024-05-15 15:25:57] Stratum extranonce1 0x81022f3d, extranonce2 size 4
[2024-05-15 15:25:58] Stratum connection established
[2024-05-15 15:25:58] CPU temp: curr 42 C max 0, Freq: 1.800/1.800 GHz
Illegal instruction (core dumped)

Rpi-5 --

                         **********  cpuminer-opt 24.1  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AVX512, SHA and VAES extensions by JayDDee.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

CPU: ARM 64 bit CPU, HWCAP 00119fff
SW built on May  4 2024 with GCC-12.2.0 Linux
CPU features:  AArch64 NEON
SW features:   AArch64 armv8 NEON  AES SHA256
Algo features:        SSE2   NEON   SHA256
[2024-05-15 15:33:18] Enabled optimizations: NEON
[2024-05-15 15:33:18] CPU affinity [!!!!]
[2024-05-15 15:33:18] Stratum connect stratum+tcp://yespowerr16.mine.zergpool.com:6534
[2024-05-15 15:33:18] API listening to 127.0.0.1:4048
[2024-05-15 15:33:18] 4 of 4 miner threads started using 'yespowerr16' algorithm
[2024-05-15 15:33:19] Stratum extranonce1 0x81022f78, extranonce2 size 4
[2024-05-15 15:33:19] Stratum connection established
[2024-05-15 15:33:19] CPU temp: curr 62 C max 0, Freq: 1.500/1.500 GHz
[2024-05-15 15:33:19] New Stratum Diff 0.5, Block 1680000, Tx 0, Job 6201
                      Diff: Net 0.0030778, Stratum 0.5, Target 7.6294e-06
[2024-05-15 15:33:49] New Work: Block 1680000, Tx 0, Netdiff 0.0030778, Job 6202
                      Diff: Net 0.0030778, Stratum 0.5, Target 7.6294e-06
                      TTF @ 129.90 h/s: Block 1d04h, Share 4m12s
[2024-05-15 15:34:04] New Block 1680001, Tx 0, Netdiff 0.0030138, Job 6203
                      Diff: Net 0.0030138, Stratum 0.5, Target 7.6294e-06
                      TTF @ 129.92 h/s: Block 1d03h, Share 4m12s
                      Net hash rate (est) 287.65 kh/s
[2024-05-15 15:34:30] New Block 1680002, Tx 0, Netdiff 0.0034862, Job 6204
                      Diff: Net 0.0034862, Stratum 0.5, Target 7.6294e-06
                      TTF @ 129.91 h/s: Block 1d08h, Share 4m12s
                      Net hash rate (est) 427.80 kh/s

<END>


It was a brief test, as I sent the Pi units back to mining quickly.  The Rpi-4 also produced a nearly identical error with "Yescript" algorithm.       --scryptr

TIPS:  BTC - 1Fs4uZ6a9ABYBTaHGUfqcwCQmeBRxkKRQT    DASH - XrK81tW31SLsVvZ2WX9VhTjpT6GXJPLdbQ
          SCRYPTR'S NOTEBOOK: https://bitcointalk.org/index.php?topic=5035515.msg46035530#msg46035530
          GITHUB: "github.com/scryptr"  MERIT is appreciated, also.  Thanks!
JayDDee (OP)
Full Member
***
Offline Offline

Activity: 1397
Merit: 221


View Profile
May 16, 2024, 08:33:43 PM
 #385

Illegal instruction (core dumped)

Illegal instruction is always a bad compile, probably trying to use SHA when the CPU doesn't support it.
Always use -march=native unless it's a new CPU and an old compiler. Your version of GCC is current so it should work for RPi4,
maybe even RPi5. -march=armv8 should also work for RPi4 but it may not be optimum.

scryptr
Legendary
*
Offline Offline

Activity: 1796
Merit: 1028



View Profile WWW
May 16, 2024, 11:09:18 PM
 #386

USING "-march=native" WORKS
====================

Editing the "build-armv8.sh" script to read "-march=native" resulted in a working executable.  My Rpi-4 now mines "Yescript" algo at ~66H/s, getting a share once every 24 minutes on average.  Slow, perhaps, but Yescript is a top earner on ZergPool today.

Thanks!       --scryptr

TIPS:  BTC - 1Fs4uZ6a9ABYBTaHGUfqcwCQmeBRxkKRQT    DASH - XrK81tW31SLsVvZ2WX9VhTjpT6GXJPLdbQ
          SCRYPTR'S NOTEBOOK: https://bitcointalk.org/index.php?topic=5035515.msg46035530#msg46035530
          GITHUB: "github.com/scryptr"  MERIT is appreciated, also.  Thanks!
JayDDee (OP)
Full Member
***
Offline Offline

Activity: 1397
Merit: 221


View Profile
May 17, 2024, 12:57:49 AM
Last edit: May 17, 2024, 01:16:07 AM by JayDDee
 #387

USING "-march=native" WORKS
====================

Editing the "build-armv8.sh" script to read "-march=native" resulted in a working executable.  My Rpi-4 now mines "Yescript" algo at ~66H/s, getting a share once every 24 minutes on average.  Slow, perhaps, but Yescript is a top earner on ZergPool today.

Thanks!       --scryptr

arm-build.sh does that already, no editing required. It's the preferred procedure for any arm compile just as build.sh is for x86_64.
armbuild-all.sh & build-all.sh are mostly for compile testing different CPU architectures but include some hints in case the CPU Isn't
supported by certain compiler versions. build-allarch.sh for X86_64 does the same thing.

The next release will have some new examples for features like armv9.

About performance, we can't expect much from one RPi4 but it would be interesting to see how power efficient would be a cluster of Pi's big enough to match a desktop CPU in hashrate.

FYI, a Mac Mini with an M2 gets 3300h/s on yescrypt, but it doesn't run natively, have to use a VM with Linux.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!