From 8b88827a8f22200d9510626a3c5cc4d608c6c8b3 Mon Sep 17 00:00:00 2001 From: JayDDee Date: Wed, 15 Nov 2023 14:35:38 -0500 Subject: [PATCH] Updated Support for AArch64 (markdown) --- Support-for-AArch64.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Support-for-AArch64.md b/Support-for-AArch64.md index 78ae65b..39f621f 100644 --- a/Support-for-AArch64.md +++ b/Support-for-AArch64.md @@ -43,30 +43,26 @@ What works: * All algorithms except Verthash should be working. * Allium, Lyra2z, Lyraz330, Argon2d are fully optimzed for NEON, Allium uses unoptimized AES. * All Scrypt & Sha25 are fully optimized to make use of SHA2. -* X17, MinotaurX are mostly optimized for NEON, also helps SSE2. +* X17, MinotaurX are mostly optimized for NEON & AES, also helps SSE2. * Skein & Skein2 are fully optimized for NEON, Skein also for SHA2. * AES is working for Shavite & Echo, not for Groestl & Fugue. * stratum+ssl and stratum+tcp are working, GBT is untested but expected to work. -* 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. +* CPU and SW feature detection and reporting is partialliy implemented. +* CPU temperature and clock frequency is working (native Linux). * cpu-affinity & threads are working. Known problems: * MacOS is not working natively, workaround with linux VM. -* No detection of CPU model, default info is displayed. -* Detection of AES and SHA CPU extensions is not working. -* 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. -* Groestl, Fugue: Multiple issues, using unoptimized. -* SWIFFTX: Deferred, using unoptimized. +* CPU and feature detection and reporting is incomplete. +* Groestl, Fugue: multiple issues not AES related, using unoptimized. +* SwiFFTx: Deferred, using unoptimized. * Algos not mentioned have either been deferred or have not been analyzed. They may or may not work on ARM. Short term plan: Start propagating x17 opimizations to the rest of the X family Figure out what's going on with verthash. -Extend support to x21s, x22i, x25x. +Extend support to x21s, x22i, x25x, including SwiFFTx. Add support for the short algos like skein2, keccak, blake2s, etc. Complete any other work needed to bring parity with SSE2. Performance testing. @@ -81,6 +77,7 @@ Apply lessons learned to x86_64. Long term: +SHA512 ARM SVE x86_64 AVX10 RISC-V