Updated Support for AArch64 (markdown)

JayDDee
2023-11-15 14:35:38 -05:00
parent 2caf3bf2ef
commit 8b88827a8f

@@ -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