a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
61 lines
2.1 KiB
XML
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>
|