mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
Updated Support for AARCH64 (markdown)
@@ -2,7 +2,8 @@ Development is begining to provide support for ARM 64 bit CPUs using the aarch64
|
||||
|
||||
This is provided as source code only and may be built on native Linux or on Windows using MingW/MSys by following the existing procedure subject to he modifications detailed below.
|
||||
|
||||
Community testing is requested because I have no ARM CPU at this time. I'm looking at Raspberry Pi but would prefer a PC without the Windows tax.
|
||||
Bitcoin talk discussion thread: https://bitcointalk.org/index.php?topic=5226770.0
|
||||
|
||||
|
||||
Requirements:
|
||||
* An ARM CPU supporting AArch64
|
||||
@@ -10,11 +11,9 @@ Requirements:
|
||||
|
||||
## Status
|
||||
|
||||
Update: I now have a Raspberry Pi 4B so I'm working through some build issues. Things are progressing but there is no point in user trying it yet. I hope to have more news soon. FYI the Pi dopesn't have AES or SHA2.
|
||||
The miner compiles and runs on Raspberry Pi 4B but only produces rejects. It's a start but there's a lot of work to do. Stay tuned
|
||||
|
||||
* Current status: first release available, start testing
|
||||
|
||||
Optimizations available in first public release:
|
||||
Status of optimizations:
|
||||
|
||||
* all variations of blake have linear and parallel vectorization
|
||||
* all variations of sha256 have parallel and HW accelerated optimizations
|
||||
@@ -25,59 +24,5 @@ x86_64 optimizations disabled for ARM:
|
||||
|
||||
* aes is disabled for Groestl, Echo, and fugue.
|
||||
* Simd (the hash function, not the CPU feature) linear vectorization is disabled
|
||||
* Yespower, yescrypt, scrypt & argon2d optimizations are disabled
|
||||
|
||||
## Test plan
|
||||
|
||||
This code is completely untested. It compiles but fails to link several libraries including curl, gmp, z, crypto & ssl, when cross compiling.
|
||||
Hopefully this is only a cross compile issue.
|
||||
|
||||
Monitor CPU temperature and ensure adequate ventilation and cooling as should be done with any CPU nining.
|
||||
|
||||
Please report all results and include your CPU and OS, any custom build options, miner startup messages, any errors or relevant logs and a clear description. Adding `--debug` is also recommendded. If the miner crashes familiarity with GDB is an asset.
|
||||
|
||||
Problems can be reported through github issues, bitcointalk or by email. Open discussion is preferred.
|
||||
|
||||
|
||||
https://bitcointalk.org/index.php?topic=5226770.0
|
||||
|
||||
Successful compilation is the first step. The recommended procedure is to folllow the standard build instructions for Linux with minor variations described below.
|
||||
|
||||
Download the latest source code from git:
|
||||
|
||||
|
||||
`$ git clone https://github.com/JayDDee/cpuminer-opt.git`
|
||||
|
||||
or
|
||||
|
||||
`$ wget https://github.com/JayDDee/cpuminer-opt/archive/refs/heads/master.zip`
|
||||
|
||||
Unzip if necessary and compile
|
||||
|
||||
`$ ./autogen.sh`
|
||||
|
||||
`$ CFLAGS="-O2 -march=native -Wall -flax-vector-conversions" ./configure --with-curl`
|
||||
|
||||
`$ make -j $nproc`
|
||||
|
||||
It's recommended testing with different builds with and without aes or sha2 or both to test different code for algos that support those features. Features can be specified as follows:
|
||||
|
||||
`"-march=armv8-a+crypto+sha2+aes"`
|
||||
|
||||
Ater successful compile start slow with a couple of simple commands.
|
||||
|
||||
`$ ./cpuminer --version`
|
||||
|
||||
Does it run or crash? Note if CPU information is correct.
|
||||
|
||||
`$ ./cpuminer --benchmark`
|
||||
|
||||
Is CPU tempereature and clock frequency displayed correctly?
|
||||
Try a few different algos. Do they all crash, some crash, of none crash? Hash rate is irrelevant at this time.
|
||||
|
||||
No crashes is considered the threshold for success for the first public release.
|
||||
|
||||
For a bonus try mining at a pool with algos that don't crash during benchmark.
|
||||
|
||||
Does it connect and start hashing? Does it submit any shares? Are they accepted? Expectations are very low. Much of the code is just recompiled C but much is also new NEON code. Having any accepted shares with any algo is beyond any expectations.
|
||||
* Yespower, yescrypt, neoscryptscrypt & argon2d optimizations are disabled
|
||||
|
||||
|
||||
Reference in New Issue
Block a user