Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 181b8f128780007d64fd4e8e405cc4d2 > files > 19

ocaml-ocamlmpi-devel-1.01-6.mga5.x86_64.rpm

<html><head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Mpi" rel="Chapter" href="Mpi.html"><title>Mpi</title>
</head>
<body>
<code class="code"><span class="keyword">sig</span><br>
&nbsp;&nbsp;<span class="keyword">exception</span>&nbsp;<span class="constructor">Error</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;communicator<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;rank&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;comm_world&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;comm_size&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;=&nbsp;<span class="string">"caml_mpi_comm_size"</span><br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;comm_rank&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;=&nbsp;<span class="string">"caml_mpi_comm_rank"</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;tag&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive&nbsp;:&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive_status&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;*&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;*&nbsp;<span class="constructor">Mpi</span>.tag<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;probe&nbsp;:&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;*&nbsp;<span class="constructor">Mpi</span>.tag<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;any_tag&nbsp;:&nbsp;<span class="constructor">Mpi</span>.tag<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;any_source&nbsp;:&nbsp;<span class="constructor">Mpi</span>.rank<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive_int&nbsp;:&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send_float&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive_float&nbsp;:&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;receive_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.tag&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;barrier&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast_opt&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast_float&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast_int_array&nbsp;:&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;broadcast_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scatter&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scatter_int&nbsp;:&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scatter_float&nbsp;:&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scatter_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scatter_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gather&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gather_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gather_float&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gather_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gather_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allgather&nbsp;:&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allgather_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allgather_float&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allgather_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allgather_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;intop&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Int_max</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_min</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_sum</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_prod</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_land</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_lor</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Int_xor</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;floatop&nbsp;=&nbsp;<span class="constructor">Float_max</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_min</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_sum</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">Float_prod</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;reduce_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;reduce_float&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;reduce_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;reduce_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allreduce_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allreduce_float&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allreduce_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;allreduce_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scan_int&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scan_float&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scan_int_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.intop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;scan_float_array&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.floatop&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;comm_compare&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;color&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;comm_split&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.color&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;color_none&nbsp;:&nbsp;<span class="constructor">Mpi</span>.color<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cart_create&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dims_create&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cart_rank&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;cart_coords&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;comm_create&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.communicator<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_size&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_rank&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_translate_ranks&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;comm_group&nbsp;:&nbsp;<span class="constructor">Mpi</span>.communicator&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_union&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_intersection&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_difference&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_incl&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_excl&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.rank&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;group_range&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;range_first&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;range_last&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;range_stride&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_range_incl&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group_range&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;group_range_excl&nbsp;:&nbsp;<span class="constructor">Mpi</span>.group&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group_range&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Mpi</span>.group<br>
&nbsp;&nbsp;<span class="keyword">external</span>&nbsp;wtime&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;=&nbsp;<span class="string">"caml_mpi_wtime"</span><br>
<span class="keyword">end</span></code></body></html>