From 57a9da75584fe0824d1229741c1fefd8d8451254 Mon Sep 17 00:00:00 2001 From: JayDDee Date: Fri, 6 Oct 2023 21:45:38 -0400 Subject: [PATCH] Updated Support for AARCH64 (markdown) --- Support-for-AARCH64.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Support-for-AARCH64.md b/Support-for-AARCH64.md index 57fd8d5..ea23e20 100644 --- a/Support-for-AARCH64.md +++ b/Support-for-AARCH64.md @@ -12,16 +12,18 @@ Requirements: * Current status: nothing publicly released yet. -* ARM support will be source code only, no binaries are planned. -* Coding is progressing with many issues translating SSE to NEON. Some things are done very differently and some things may not be possible. -* The lack of flexible lane shuffling is a major problem. Some shuffles may have to be done by inserting one lane at a time. -* Current expectations are best performance will be with sha256 based algos. AES is only supported for shavite. -* Parallel 4 way hashing will not be provided initially but will be added later. -* Current problem algos include anything with Groestl, Echo & Fugue due to problems with the AES implementation. -* Simd has a problem with multiplication that I haven't resolved. -* Scrypt has issues with the lack of a blend instruction in NEON that requires a workaround. The lack of mask creating doesn't make it any easier. -* Yespower/yescrypt also have issues that aren't fully understood due to the complexity of the current code. -* Unresolved issues will result in using completely unoptimized "reference" code. +Optimizations available in first public release: + +* all variations of blake have linear and parallel vectorization +* all variations of sha256 have parallel and HW accelerated optimizations +* algorithms that use shavite have AES HW acceleration +* algorithms that use luffa or cubehash have linear vectorization + +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 @@ -55,7 +57,7 @@ Does it run or crash? Note if CPU information is correct. `$ ./cpuminer --benchmark` -Is CPU tempereature and clock frequency displayed correctly? +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.