[Mono-dev] Integrating Mono.Simd into Mono.Math, Mono.Security

Marcus Griep marcus at griep.us
Mon Jun 8 13:45:54 EDT 2009


Hello all,

First, by way of introduction, I'm Marcus Griep, a .NET/Mono
developer for some time now, and a contributor to such projects as
Boo, C5, and git.

In a sort of scratch-my-own-itch style, I'm looking to speed up the
computationally time consuming steps of BigInteger math by using
Mono.Simd in Mono.Math. This would then vicariously speed up various
cryptographic functions that rely on BigIntegers, such as primality
tests in RSA, and could be futher extended to using Mono.Simd
throughout Mono.Security.

Mono.Math resides within Mono.Security, so I would be creating a
dependency from Mono.Security to Mono.Simd. Also, Mono.Math is
incorporated internally within corlib, which would probably mean
interning Mono.Simd in corlib as well.

One confounding factor is that Mono.Simd uses extension methods,
thus depending on System.Core, and being a 2.0-only library. With
the 1.1 world still around, incorporation of Mono.Simd into corlib
and Mono.Security will probably require some precision cuts to get
1.1 working independently of Mono.Simd, while letting 2.0 utilize
it. (Another option is to reduce the dependency on the
VectorOperations extension methods, making them normal static
methods when built to 1.1).

The intended outcome is that Mono's cryptographic libraries will see
a nice speedup when run on systems supporting SIMD.

Since this is my first major delve into Mono, in a contributory
sense, any input, corrections, or advice are welcome as I try to
wrap my head around what actually needs to be done.

-- 
Marcus Griep
GPG Key ID: 0x070E3F2D
——
https://torproj.xpdm.us
Ακακια את.ψο´, 3°

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 793 bytes
Desc: OpenPGP digital signature
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090608/8de5101f/attachment.bin 


More information about the Mono-devel-list mailing list