Initial SIMD documentation
[mono.git] / mcs / class / Mono.Simd / Documentation / en / ns-Mono.Simd.xml
1 <Namespace Name="Mono.Simd">
2   <Docs>
3     <summary>
4       Hardware accelerated SIMD-based primitives.
5     </summary>
6     <remarks>
7       <para>
8         The Mono.Simd namespace provides a number of classes that are
9         hardware accelerated by mapping the classes and the actual
10         operations to native SIMD instructions on a processor. 
11       </para>
12       
13       <para>
14         When the Mono runtime's SIMD optimization are active the
15         operations on the structures defined in this namespace are
16         mapped to hardware operations which can improve the
17         performance of your graphics, multimedia or 3D operations
18         significantly. 
19       </para>
20
21       <para>
22         Code that uses the types defined in the Mono.Simd assembly
23         will work even on systems that do not have hardware SIMD
24         operations, systems where Mono has not added support for the
25         native SIMD operations and even on the Microsoft.NET runtime
26         as it currently does not have support for hardware accelerated
27         SIMD operations.
28       </para>
29       
30       <para>
31         You can control whether the runtime will map the operations to
32         SIMD primitives by using the -O command line option and
33         specifying -O=simd to enable or -O=-simd to disable.
34       </para>
35
36       <para>
37          The operations that are hardware accelerated are flagged with
38          the Acceleration attribute on each individual method.   The
39          Mode property describes the minimum version of CPU
40          functionality required to use the operation.   Software can
41          use this flag to determine if they want to use the operations
42          implemented in software or not.
43       </para>
44     </remarks>
45   </Docs>
46 </Namespace>