NAME

ISAL::Crypto - Perl interface for Intel(R) Intelligent Storage Acceleration Library Crypto Version - collection of optimized low-level functions targeting storage applications.

SYNOPSIS

use ISAL::Crypto qw(:all);
my $feature = "avx512";

my $init = "init_$feature";
my $mgr = ISAL::Crypto::Mgr::SHA256->$init();

my $ctx1 = ISAL::Crypto::Ctx::SHA256->init();
my $ctx2 = ISAL::Crypto::Ctx::SHA256->init();

my $submit = "submit_$feature";
$mgr->$submit($ctx1, $str1, ENTIRE);

$mgr->$submit($ctx2, $str2, FIRST);
$mgr->$submit($ctx2, $str3, UPDATE);
$mgr->$submit($ctx2, $str4, UPDATE);
$mgr->$submit($ctx2, $str5, LAST);

my $flush = "flush_$feature";
while ($mgr->$flush()){};

my $result_digest1 = $ctx1->get_digest();
my $result_digest2 = $ctx2->get_digest();

ABSTRACT

ISAL::Crypto - allows to run multiple hash calculations at the same time on one cpu using vector registers for much better throuput than usual single registers calculations.

SUBROUTINES/METHODS

Detect CPU features methods

Mgr methods

init_*

submit_*

flush_*

Ctx methods

EXPORT

Nothing is exported by default.

Benchmarks

To start benchmark run make bench in console.

Not Yet Implemented (NYI)

Prerequisites

Resources

AUTHOR

Sergey Kaplun, <burii@cpan.org<gt>,

ACKNOWLEDGEMENTS

Mons Anderson - The rationale and motivation

BUGS

Please report any bugs or feature requests in https://github.com/Buristan/ISAL-Crypto/issues

COPYRIGHT AND LICENSE

Copyright (C) 2019 by Sergey Kaplun

This program is released under the following license: BSD 3-Clause