76
M. Nakao and H. Murai
int b[10];
:
#pragma xmp bcast (b)
_XMP_M_BCAST_EXEC(b, 10, sizeof(int));
Fig. 4 Code translation of bcast directive
the values are translated to constants (i < 5, j < 5) automatically. If the values are
variables in the pre-translated code or not divisible by the number of nodes, the
runtime function is inserted just before the loop statement to calculate values for
ending conditions. The calculated values are set in newly created variables.
2.2.3 Communication
Figure 4 shows an XMP example code using a bcast directive to broadcast a local
array b. Basically translations of communication directives are simple. The runtime
functions call MPI functions directly.
3 Installation
This section describes how to install the latest Omni compiler version 1.3.2. Omni
compiler is installed by a general installation method on UNIX ( ./configure;
make; make install ). When executing ./configure without options,
only XMP is installed. When installing OpenACC and/or XACC, it is required for
some options to “./configure”, which is described in Sect. 3.5.
3.1 Overview
We provide two versions of Omni compiler, the one is “stable version” and the other
is “nightly build version.” While the stable version is a so-called official version that
has a version number, the nightly build version is a trial version that is released at
midnight on our website (https://omni-compiler.org). Omni compiler is developed
in GitHub repository (https://github.com/omni-compiler/omni-compiler). Our web
server gets the source code from the GitHub repository and generates the nightly
build version every day.
M. Nakao and H. Murai
int b[10];
:
#pragma xmp bcast (b)
_XMP_M_BCAST_EXEC(b, 10, sizeof(int));
Fig. 4 Code translation of bcast directive
the values are translated to constants (i < 5, j < 5) automatically. If the values are
variables in the pre-translated code or not divisible by the number of nodes, the
runtime function is inserted just before the loop statement to calculate values for
ending conditions. The calculated values are set in newly created variables.
2.2.3 Communication
Figure 4 shows an XMP example code using a bcast directive to broadcast a local
array b. Basically translations of communication directives are simple. The runtime
functions call MPI functions directly.
3 Installation
This section describes how to install the latest Omni compiler version 1.3.2. Omni
compiler is installed by a general installation method on UNIX ( ./configure;
make; make install ). When executing ./configure without options,
only XMP is installed. When installing OpenACC and/or XACC, it is required for
some options to “./configure”, which is described in Sect. 3.5.
3.1 Overview
We provide two versions of Omni compiler, the one is “stable version” and the other
is “nightly build version.” While the stable version is a so-called official version that
has a version number, the nightly build version is a trial version that is released at
midnight on our website (https://omni-compiler.org). Omni compiler is developed
in GitHub repository (https://github.com/omni-compiler/omni-compiler). Our web
server gets the source code from the GitHub repository and generates the nightly
build version every day.
