@@ -21,7 +21,7 @@ Download this file as a PDF document
21
21
* [ Prerequisites]
22
22
* [ CMake]
23
23
* [ Make]
24
- * [ Obtaining GCC]
24
+ * [ Obtaining GCC, MPICH, and CMake ]
25
25
26
26
End-User Installation
27
27
---------------------
@@ -39,7 +39,7 @@ cd opencoarrays
39
39
```
40
40
41
41
Before installing OpenCoarrays, the above bash script will attempt to detect the presence
42
- of the default prequisite packages: [ GCC] , [ MPICH] , and [ CMake] . For additional details, see the [ Prerequisites] section. If any of the
42
+ of the default prerequisite packages: [ GCC] , [ MPICH] , and [ CMake] . For additional details, see the [ Prerequisites] section. If any of the
43
43
aforementioned packages appear to be absent from the user's PATH environment variable,
44
44
the [ install.sh] script will attempt to download, build, and install any missing packages
45
45
after asking permission to do so. The script has been tested on Linux and OS X. Please
@@ -130,8 +130,19 @@ If using the advanced [CMake] or [Make] builds detailed below, please ensure tha
130
130
131
131
### CMake ###
132
132
133
+ #### N.B.: ####
134
+
135
+ __ As of OpenCoarrays 1.7.6, passing ` FC=mpi_fortran_wrapper ` and
136
+ ` CC=mpi_c_wrapper ` is * DEPRECATED* . Please pass ` FC=/path/to/gfortran `
137
+ and ` CC=/path/to/gcc ` . If you are experimenting with the source to
138
+ source translation capabilities, then please point ` FC ` and ` CC ` to
139
+ your Fortran and C compilers of choice. In the case of CRAY, or a
140
+ compiler in which MPI is * built-in* to the compiler, you still pass
141
+ the ` FC ` and ` CC ` as the Fortran and C compiler, even though MPI is
142
+ built-in.__
143
+
133
144
[ CMake] is the preferred build system. CMake is a cross-platform Makefile generator that
134
- includes with the testing tool CTest. To avoid cluttering or clobbering the source tree,
145
+ includes the testing tool CTest. To avoid cluttering or clobbering the source tree,
135
146
our CMake setup requires that your build directory be any directory other than the top-level
136
147
OpenCoarrays source directory. In a bash shell, the following steps should build
137
148
OpenCoarrays, install OpenCoarrays, build the tests, run the tests, and report the test results:
@@ -141,27 +152,39 @@ tar xvzf opencoarrays.tar.gz
141
152
cd opencoarrays
142
153
mkdir opencoarrays-build
143
154
cd opencoarrays-build
144
- CC=mpicc FC=mpif90 cmake .. -DCMAKE_INSTALL_PREFIX=${PWD}
155
+ CC=gcc FC=gfortran cmake .. -DCMAKE_INSTALL_PREFIX=${HOME}/packages/
145
156
make
146
157
ctest
147
158
make install
148
159
```
149
160
150
161
where the the first part of the cmake line sets the CC and FC environment variables
151
- and the final part of the same line defines the installation path as the present
152
- working directory (` opencoarrays-build ` ). Please report any test failures via the
153
- OpenCoarrays [ Issues] page.
162
+ and the final part of the same line defines the installation path as
163
+ the ` packages ` directory in the current user's ` $HOME ` directory. Please report any test failures via the
164
+ OpenCoarrays [ Issues] page. Please note that you need a recent
165
+ GCC/GFortran, and a recent MPI-3 implementation. If CMake is having
166
+ trouble finding the MPI implementation, or is finding the wrong MPI
167
+ implementation, you can try setting the ` MPI_HOME ` environment
168
+ variable to point to the installation you wish to use. If that fails,
169
+ you can also try passing the
170
+ ` -DMPI_Fortran_COMPILER=/path/to/mpi/fortran/wrapper/script ` and
171
+ ` -DMP_C_COMPILER=/path/to/mpi/c/wrapper/script ` options to CMake.
154
172
155
173
Advanced options (most users should not use these):
156
174
157
- -DLEGACY_ARCHITECTURE=OFF enables the use of FFT libraries that employ AVX instructions
158
- -DHIGH_RESOLUTION_TIMER=ON enables timers that tick once per clock cycle
159
- -DCOMPILER_SUPPORTS_ATOMICS enables support for the proposed Fortran 2015 events feature
160
- -DUSE_EXTENSIONS builds the [opencoarrays] module for use with non-OpenCoarrays-aware compilers
161
- -DCOMPILER_PROVIDES_MPI is set automatically when building with the Cray Compiler Environment
175
+ -DMPI_HOME=/path/to/mpi/dir # try to force CMake to find your preferred MPI implementation
176
+ # OR
177
+ -DMPI_C_COMPILER=/path/to/c/wrapper
178
+ -DMPI_Fortran_COMPILER=/path/to/fortran/wrapper
179
+
180
+ -DLEGACY_ARCHITECTURE=OFF # enables the use of FFT libraries that employ AVX instructions
181
+ -DHIGH_RESOLUTION_TIMER=ON # enables timers that tick once per clock cycle
182
+ -DCOMPILER_SUPPORTS_ATOMICS # enables support for the proposed Fortran 2015 events feature
183
+ -DUSE_EXTENSIONS # builds the opencoarrays module for use with non-OpenCoarrays-aware compilers
184
+ -DCOMPILER_PROVIDES_MPI # is set automatically when building with the Cray Compiler Environment
162
185
163
- The first two flags above are not portable and the third enables code that is incomplete as
164
- of release 1.0.0. The fourth is set automatically by the CMake scripts based on the compiler
186
+ The fourth and fifth flags above are not portable and the sixth enables code that is incomplete as
187
+ of release 1.0.0. The eighth is set automatically by the CMake scripts based on the compiler
165
188
identity and version.
166
189
167
190
### Make ###
@@ -225,7 +248,7 @@ where the second line builds the flex package that is required for building gcc
225
248
[ Prerequisites ] : #prerequisites
226
249
[ CMake ] : #cmake
227
250
[ Make ] : #make
228
- [ Obtaining GCC ] : #obtaining-gcc
251
+ [ Obtaining GCC, MPICH, and CMake ] : #obtaining-gcc-mpich-and-cmake
229
252
[ Sourcery Store ] : http://www.sourceryinstitute.org/store
230
253
[ Sourcery Institute Store ] : http://www.sourceryinstitute.org/store
231
254
[ VirtualBox ] : http://www.virtualbox.org
@@ -235,7 +258,7 @@ where the second line builds the flex package that is required for building gcc
235
258
[ Issues ] : https://github.com/sourceryinstitute/opencoarrays/issues
236
259
[ make.inc ] : ./src/make.inc
237
260
[ opencoarrays ] : ./src/extensions/opencoarrays.F90
238
- [ prerequisites ] : ./ prerequisites
261
+ [ prerequisites ] : # prerequisites
239
262
[ MPICH ] : http://www.mpich.org
240
263
[ MVAPICH ] :http://mvapich.cse.ohio-state.edu
241
264
[ MacPorts ] : http://www.macports.org
0 commit comments