You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://github.com/sourceryinstitute/opencoarrays/releases/latest)
10
12
[![Download as PDF][pdf img]](http://md2pdf.herokuapp.com/sourceryinstitute/opencoarrays/blob/master/INSTALL.pdf)
11
13
12
14
Download this file as a PDF document
@@ -28,14 +30,18 @@ End-User Installation
28
30
---------------------
29
31
30
32
Most users will find it easiest and fastest to use package management software to install OpenCoarrays.
31
-
Package management options for macOS (formerly known as OS X), Windows, and Linux are described first
33
+
Package management options for macOS (formerly known as OS X), Windows, and Linux are described first
32
34
below. Also described below are options for installing via the Sourcery Institute virtual machine or
OS X users may use the [Homebrew] or [MacPorts] package management systems to install OpenCoarrays.
38
-
We recommend [Homebrew].
44
+
We recommend [Homebrew].
39
45
40
46
Homebrew installation steps:
41
47
```
@@ -49,43 +55,49 @@ sudo port selfupdate
49
55
sudo port upgrade outdated
50
56
sudo port install opencoarrays
51
57
```
52
-
where the `sudo` command requires administrator privileges. If you install using MacPorts, please
58
+
where the `sudo` command requires administrator privileges. If you install using MacPorts, please
53
59
also install the `mpstats` port as follows:
54
60
```
55
61
sudo port install mpstats
56
62
```
57
63
which supports future OpenCoarrays development by providing download data the OpenCoarrays team
58
64
uses in proposals for research grants and development contracts.
59
65
66
+
[top]
67
+
60
68
### Windows ###
61
69
62
70
Windows users may run the windows-install.sh script inside the Windows Subsystem for Linux (WSL).
63
71
64
72
Requirements:
65
73
* WSL release 14936 or later,
66
-
* Windows Insider Preview, and
74
+
* Windows Insider Preview, and
67
75
* "Fast" updates option.
68
76
69
77
Steps:
70
78
```
71
79
do-release-upgrade
72
-
./windows-install.sh
80
+
./windows-install.sh
73
81
```
74
82
where the first command above updates the default Ubuntu 14.04 to 16.04 and the second command must
75
83
be executed with the present working directory set to the top level of the OpenCoarrays source tree.
76
84
77
-
The `windows-install.sh` installation script uses Ubuntu's `apt-get` package manager to build
78
-
[GCC] 5.4.0, [CMake], and [MPICH]. Windows users who desire a newer version of GCC are welcome to
79
-
submit a request via our [Issues] page and suggest a method for updating. Previously attempted
85
+
The `windows-install.sh` installation script uses Ubuntu's `apt-get` package manager to build
86
+
[GCC] 5.4.0, [CMake], and [MPICH]. Windows users who desire a newer version of GCC are welcome to
87
+
submit a request via our [Issues] page and suggest a method for updating. Previously attempted
80
88
upgrade methods are described in the discussion thread starting with [commit comment 20539810].
81
89
90
+
[top]
91
+
82
92
### Linux ###
83
93
84
94
The [Arch Linux] distribution provides an [aur package] for installing OpenCoarrays. Users of
85
95
other Linux distributions may install the [Virtual machine] or use the [Installation Script].
86
-
Alternatively, if you desire to install using other Linux package Linux package management
96
+
Alternatively, if you desire to install using other Linux package Linux package management
87
97
software such as [dnf] or [apt-get], please submit a feature request via our [Issues] page.
88
98
99
+
[top]
100
+
89
101
## Virtual machine ##
90
102
91
103
Users of macOS, Windows, or Linux have the option to use OpenCoarrays by installing the Lubuntu
@@ -95,11 +107,13 @@ and OpenCoarrays, the virtual machine contains dozens of other open-source softw
95
107
that support modern Fortran software development. See the [download and installation instructions]
96
108
for a partial list of the included packages.
97
109
110
+
[top]
111
+
98
112
## Installation Script ##
99
113
100
114
If the above package management or virtualization options are infeasible or unavailable,
101
-
Linux and macOS users may also install OpenCoarrays by downloading and uncompressing our
102
-
[latest release] and running our installation script in the top-level OpenCoarrays source
115
+
Linux and macOS users may also install OpenCoarrays by downloading and uncompressing our
116
+
[latest release] and running our installation script in the top-level OpenCoarrays source
103
117
directory (see above for the corresponding [Windows] script):
104
118
```
105
119
tar xvzf OpenCoarrays-x.y.z.tar.gz
@@ -125,16 +139,17 @@ inside the installation path (.e.g, inside `build` in the above example):
125
139
*`mod`: contains the `opencoarrays.mod` module file for use with non-OpenCoarrays-aware compilers
126
140
*`lib`: contains the `libcaf_mpi.a` static library to which codes link for CAF support
127
141
142
+
[top]
128
143
129
144
Advanced Installation from Source
130
145
---------------------------------
131
146
132
147
### Prerequisites: ###
133
148
134
-
The prerequisites below and their dependencies are recommended for the broadest coverage of CAF features.
135
-
If a prerequisite is missing or outdated, the [install.sh] script will prompt the user for permission to
136
-
download, compile, and install it. Before doing so, [install.sh] will verify whether that prerequisite's
137
-
prerequisites are present and will recursively traverse the dependency tree until reaching an acceptable
149
+
The prerequisites below and their dependencies are recommended for the broadest coverage of CAF features.
150
+
If a prerequisite is missing or outdated, the [install.sh] script will prompt the user for permission to
151
+
download, compile, and install it. Before doing so, [install.sh] will verify whether that prerequisite's
152
+
prerequisites are present and will recursively traverse the dependency tree until reaching an acceptable
138
153
prerequisite or reaching the end of a branch.
139
154
140
155
```
@@ -152,6 +167,8 @@ opencoarrays
152
167
153
168
If using the advanced [CMake] or [Make] builds detailed below, please ensure that these dependencies are met before attempting to build and install OpenCoarrays.
154
169
170
+
[top]
171
+
155
172
### CMake scripts ###
156
173
157
174
#### N.B.: ####
@@ -199,7 +216,7 @@ Advanced options (most users should not use these):
199
216
-DMPI_HOME=/path/to/mpi/dir # try to force CMake to find your preferred MPI implementation
200
217
# OR
201
218
-DMPI_C_COMPILER=/path/to/c/wrapper
202
-
-DMPI_Fortran_COMPILER=/path/to/fortran/wrapper
219
+
-DMPI_Fortran_COMPILER=/path/to/fortran/wrapper
203
220
204
221
-DLEGACY_ARCHITECTURE=OFF # enables the use of FFT libraries that employ AVX instructions
205
222
-DHIGH_RESOLUTION_TIMER=ON # enables timers that tick once per clock cycle
@@ -211,6 +228,8 @@ The fourth and fifth flags above are not portable and the sixth enables code tha
211
228
of release 1.0.0. The eighth is set automatically by the CMake scripts based on the compiler
212
229
identity and version.
213
230
231
+
[top]
232
+
214
233
### Make ###
215
234
216
235
Unlike the Makefiles that CMake generates automatically for the chosen platform, static
@@ -237,10 +256,12 @@ system settings. For example, you might need to remove the `-Werror` option fro
237
256
compiler flags or name a different compiler. In order to activate efficient strided-array
238
257
transfer support, uncomment the `-DSTRIDED` flag inside the [make.inc] file.
239
258
259
+
[top]
260
+
240
261
Obtaining GCC, MPICH, and CMake
241
262
-------------------------------
242
263
243
-
[GFortran Binaries] binary builds are available at <https://gcc.gnu.org/wiki/GFortranBinaries>.
264
+
[GFortran Binaries] binary builds are available at <https://gcc.gnu.org/wiki/GFortranBinaries>.
244
265
245
266
To build all prerequisites from source, including the current development branch of GCC,
246
267
you might first try the running the provided [install.sh] script as described above in
0 commit comments