diff --git a/docs.it4i/software/csc.md b/docs.it4i/software/csc.md index 22d87155323cde4c1580b82457a263d07abbe39b..0ec91fb1de21248fe723b610e931b80e8c418f0e 100644 --- a/docs.it4i/software/csc.md +++ b/docs.it4i/software/csc.md @@ -68,4 +68,42 @@ csharp> from f in Directory.GetFiles ("mydirectory") { "mydirectory/mynewfile.cs", "mydirectory/script.sh" } ``` +## MPI.NET + +MPI is available for mono. + +```csc +using System; +using MPI; + +class MPIHello +{ + static void Main(string[] args) + { + using (new MPI.Environment(ref args)) + { + Console.WriteLine("Greetings from node {0} of {1} running on {2}", + Communicator.world.Rank, Communicator.world.Size, + MPI.Environment.ProcessorName); + } + } +} +``` + +Compile and run the program on Anselm: + +```console +$ qsub -I -A DD-13-5 -q qexp -l select=2:ncpus=16,walltime=00:30:00 + +$ ml mpi.net + +$ mcs -out:csc.exe -reference:/apps/tools/mpi.net/1.0.0-mono-3.12.1/lib/MPI.dll csc.cs + +$ mpirun -n 4 mono csc.exe +Greetings from node 2 of 4 running on cn204 +Greetings from node 0 of 4 running on cn204 +Greetings from node 3 of 4 running on cn199 +Greetings from node 1 of 4 running on cn199 +``` + For more informations look at [Mono documentation page](http://www.mono-project.com/docs/).