Updated Support for AArch64 (markdown)

JayDDee
2023-10-25 20:16:22 -04:00
parent a55d6a67e0
commit 29a0bd007a

@@ -1,5 +1,6 @@
Development is begining to provide support for ARM 64 bit CPUs using the aarch64 architecture.
**Don't download yet, watch for the release announcement**
This is provided as source code only and may be built on native Linux or following the existing procedure subject to the modifications detailed below.
Bitcoin talk discussion thread: https://bitcointalk.org/index.php?topic=5226770.0
@@ -25,13 +26,15 @@ Uncommited changes:
The miner compiles and runs on Raspberry Pi 4B, and compiles for all version of armv8 with our without AES or SHA2 or both.
What works:
* All algorithms ecept Verthash should be working, Hodl is untested and unknown.
* Allium ,Lyra2z & Lyraz330, Argon2d are fully optimzed for NEON, Allium also for AES.
* All algorithms ecept Verthash and Hodl should be working.
* Allium, Lyra2z, Lyraz330, Argon2d are fully optimzed for NEON, Allium also for AES.
* Unoptimized: Sha256dt, sha256t, Blake2s.
* Yespower, Yescrypt, Scrypt are working for with slow sha256.
* Argon2d is fully oprimized.
* X17 is thhe only X* to be optimized in this realease.
* Unoptimized: Sha256dt, sha256t, Blake2s.
* Other algos not optimized for ARM.
* X17 is the only X* to be optimized in this realease.
* MinotaurX is partially optimized.
* AES & SHA2 are enabled but untested.
* Other algos are not optimized for ARM and not tested.
* stratum+ssl and stratum+tcp are working, GBT is untested.
* CPU and SW feature detection and reporting is working, algo features in progress, CPU brand not yet implemented.
* CPU temperature and clock frequency is working.
@@ -39,25 +42,17 @@ What works:
Known problems:
* No detection of CPU model, default info displayed.
* No detection of ARM minor version number.
* No detection of ARM architecture minor version number.
* NEON may not be displayed in algo features for some algos that may support it.
* Algos may show support for NEON even if it's disabled or not yet implemented.
* AES & SHA2 are enabled but untested.
* There is no working version of Verthash on ARM, even pure compiled C code. The same code compiled for x86_64 works.
* Sha256 & Sha512 Parallel N-way are disabled. They work on X86_64.
* AES & SHA2 are enabled but untested.* Sha256 & Sha512 Parallel N-way are disabled. They work on X86_64.
* Sha256dt, Sha256t, Sha256d unoptimized.
* Scryptn2 optimzations disabled due to Sha256 issues.
* X17, MinotaurX are partially optimized.
* Blake256, Blake512, Blake2s, Blake2b N-way parallel hash not working, using liner when possible, unoptimzed otherwise.
* Blake256, Blake512, Blake2s, Blake2b N-way parallel hash not working, using linear when possible, unoptimzed otherwise.
* Simd: Multiple issues with NEON, using unoptimized.
* Luffa: NEON not working, using unoptimized
* Fugue: Multiple issues with NEON & AES, using unoptimized.
* SWIFFTX: Multiple issues with NEON,using unoptimized.
* Remaining algos are not yet optimized for NEON but should work unoptimized.
Goal for next release:
* get as many algos as practical working even if optimizations need to be disabled,
* address some of the disabled optimizations,
* enable SHA2, and AES for Groestl & Echo, untested.