Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

61 lines
2.1 KiB
XML

<Namespace Name="Mono.Simd">
<Docs>
<summary>
Hardware accelerated SIMD-based primitives.
</summary>
<remarks>
<para>
Important: the Mono.Simd assembly is a work-in-progress API
and has not been finalized. We are publishing the assembly
and the documentation hoping to get input and feedback from
the community.
</para>
<para>
The Mono.Simd namespace provides a number of classes that are
hardware accelerated by mapping the classes and the actual
operations to native SIMD instructions on a processor.
</para>
<para>
When the Mono runtime's SIMD optimization are active the
operations on the structures defined in this namespace are
mapped to hardware operations which can improve the
performance of your graphics, multimedia or 3D operations
significantly.
</para>
<para>
Code that uses the types defined in the Mono.Simd assembly
will work even on systems that do not have hardware SIMD
operations, systems where Mono has not added support for the
native SIMD operations and even on the Microsoft.NET runtime
as it currently does not have support for hardware accelerated
SIMD operations.
</para>
<para>
You can control whether the runtime will map the operations to
SIMD primitives by using the -O command line option and
specifying -O=simd to enable or -O=-simd to disable.
</para>
<para>
The operations that are hardware accelerated are flagged with
the Acceleration attribute on each individual method. The
Mode property describes the minimum version of CPU
functionality required to use the operation. Software can
use this flag to determine if they want to use the operations
implemented in software or not.
</para>
<para>
Casting operations are also cheap, converting from one data
type to another have a very low cost. This is useful to move
information back and forth from floating point values to
integers.
</para>
</remarks>
</Docs>
</Namespace>