Updated Support for AArch64 (markdown)

JayDDee
2023-11-28 02:48:55 -05:00
parent 0de43ba6bd
commit b1eb2ede60

@@ -12,8 +12,9 @@ Requirements:
## Status
**cpuminer-opt-23.13 is released**
**cpuminer-opt-23.14 is released**
Hihjlights of this release: Groestl AES is working and enabled for x16*, minotaurx, hmq1725, allium and others.
Development environment:
* Orange Pi 5 Plus 16 GB, Rockchip 8 core CPU with AES & SHA2
* Ubuntu Mate 22.04
@@ -35,31 +36,23 @@ Specific achitectures and features can be compiled using examples in armbuild-al
The miner has been tested on Raspberry Pi 4B, Orange Pi 5 Plus, and Mac Mini from a Linux VM.
It compiles for all minor versions of armv8.x with or without AES, or SHA2, or both.
What works:
* Most algorithms are working with Neon optimizations, 2-way parallel when applicable.
* AES is working for Shavite and Echo.
* SHA is working for all algos.
* stratum+ssl and stratum+tcp are working, GBT is untested but expected to work.
* all configurations options work as usual.
Known problems:
* Verthash algo is not working.
* MacOS is not working natively, workaround with linux VM.
* CPU and feature detection and reporting is incomplete.
* Groestl: AES mostly working but slower that unoptimized.
* Fugue: multiple issues not AES related, using unoptimized.
* Some algorithms too difficult to test with a CPU are not optimized for NEON.
Short term plan:
* Figure out what's going on with verthash.
* Fugue AES.
* Migrate NEON to more algos.
Medium term:
* Detection of ARM CPU model and architecture minor version.
* Fugue & Groestl AES performance, needs a breakthrough for slow shuffles.
* Find NEON optimization opportunities that exploit it's architecture and instruction set.
* Apply lessons learned to x86_64.
* SHA512, x86_64 & AArch64.