libgcrypt: POWER AES Vector Acceleration
Closed, ResolvedPublic

Description

Use POWER8 and POWER9 ISA enhancements to improve the performance of AES. Demonstrate why achieved performance is close to optimal for the platform. Optimized implementations in the Cryptogams repository[1] may serve as useful references. Financial bounty upon completion and community acceptance of patches.

https://github.com/dot-asm/cryptogams/

gcwilson created this task.May 20 2019, 7:01 PM

Would the maintainers accept having perl in the repository? Linux does it.[1]

[1] https://github.com/torvalds/linux/blob/master/drivers/crypto/vmx/ghashp8-ppc.pl

I don't know. That would make it a relatively easy transplant. We've also used the Cryptogams code as a reference for Golang enhancements, if that helps. I'd welcome guidance on the matter from a maintainer.

I'm looking into doing a pretty epic hack of using the switch_endian syscall to speed this up.

werner renamed this task from [$] libgcrypt: POWER AES Vector Acceleration to libgcrypt: POWER AES Vector Acceleration.May 21 2019, 7:47 AM
werner triaged this task as Normal priority.May 21 2019, 7:51 AM
werner added a subscriber: werner.

Perl would be okay for maintainer mode but not for regular builds. The reason is that perl is already used by autotools but a build shall still be possible w/o perl.

johnmar raised the priority of this task from Normal to Needs Triage.Jul 15 2019, 9:09 PM
werner triaged this task as Normal priority.Jul 16 2019, 8:33 AM

Please do not change the priority back. That is a maintainer's task. I consider this along with adding replicas of issues to a bit rude.

jukivili claimed this task.EditedAug 25 2019, 6:10 PM
jukivili added a subscriber: jukivili.

Patches for PowerPC AES acceleration sent to mailing-list, based partly on initial work by Shawn Landden (@slandden): https://lists.gnupg.org/pipermail/gcrypt-devel/2019-August/004788.html

Because there was license concerns with Cryptogams code (https://lists.gnupg.org/pipermail/gcrypt-devel/2019-July/004774.html), I decided to implemented missing parts for this myself.

jukivili closed this task as Resolved.Aug 31 2019, 1:38 AM