Skip to content

Commit 09a1e30

Browse files
author
Damian Rouson
authored
Remove legacy files. Cordon off unmaintained files
* Changes to src/Makefile: 1. Removed all references to tests, which were broken because src/tests has no Makefile. Tests will only be run by CMake/CTest, not via the static Makefile. 2. Replaced the previously commented GASNet lines with environment-based conditional logic. * Check compiler/MPI consistency more broadly: install.sh previously checked that mpif90 invokes the user-specified compiler (specified with -f or --with-fortran) only if the user also specifies the MPI implementation via -M or --with-mpi. The check has been moved so that it happens whenever the installation finds and uses a prior MPI installation. * Remove src/armci * Remove references to ARMCI from the Makefile and CMake files.
1 parent bf2a953 commit 09a1e30

File tree

8 files changed

+75
-1096
lines changed

8 files changed

+75
-1096
lines changed

STATUS.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Download this file as a PDF document
2121
* [libcaf_mpi]
2222
* [libcaf_x]
2323
* [libcaf_gasnet]
24-
* [libcaf_armci]
2524
* [libcaf_single]
2625
* [Known Issues](#known-issues)
2726
* [Library Issues](#library-issues)
@@ -98,8 +97,6 @@ Library Status
9897
is currently out-of-date but might exhibit higher performance than [MPI] on
9998
platforms for which [GASNet] provides a tuned conduit. Contact the
10099
[OpenCoarrays Google Group] for further information.
101-
<a name="libcaf-armci">
102-
* **libcaf_armci**</a> (Unsupported): developed for research purposes and evaluation.
103100
<a name="libcaf-single">
104101
* **libcaf_single**</a> (Unsupported): developed to mirror the like-named library that
105102
is included in GNU Fortran to facilitate compiling single-image (sequential)
@@ -185,7 +182,6 @@ To-Do List
185182
[libcaf_x]: #libcaf-x
186183
[libcaf_gasnet]: #libcaf-gasnet
187184
[libcaf_single]: #libcaf-single
188-
[libcaf_armci]: #libcaf-armci
189185
[GNU (gfortran)]: #compiler-issues-gnu
190186
[Cray (ftn)]: #compiler-issues-cray
191187
[Intel (ifort)]: #compiler-issues-intel

prerequisites/install-functions/find_or_install.sh

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,6 @@ find_or_install()
123123
stack_push dependency_exe "none"
124124
stack_push dependency_path "none"
125125

126-
if [[ ! -z "${arg_f:-}" ]]; then
127-
# -f or --with-fortran argument specifies a compiler, which we use if mpif90
128-
# invokes the specified compiler. Otherwise, we halt and print an error message.
129-
MPIFC_wraps=$(${MPIFC} --version)
130-
compiler=$(${arg_f} --version)
131-
if [[ "${MPIFC_wraps}" != "${compiler}" ]]; then
132-
emergency "Specified MPI ${MPIFC_wraps} wraps a compiler other than the specified Fortran compiler ${compiler}"
133-
fi
134-
fi
135-
136126
elif [[ "$script_installed_package" == true ]]; then
137127

138128
echo -e "$this_script: Using the $package installed by $this_script\n"
@@ -207,6 +197,15 @@ find_or_install()
207197
stack_push dependency_path "none" "$(./build.sh -P "$package")" "$(./build.sh -P gcc)"
208198
fi
209199

200+
# Check consistency of MPIFC, if set, and user-specified Fortran compiler
201+
if [[ ! -z ${MPIFC:-} && ! -z "${arg_f:-}" ]]; then
202+
MPIFC_wraps=$(${MPIFC} --version)
203+
compiler=$(${arg_f} --version)
204+
if [[ "${MPIFC_wraps}" != "${compiler}" ]]; then
205+
emergency "Specified MPI ${MPIFC_wraps} wraps a compiler other than the specified Fortran compiler ${compiler}"
206+
fi
207+
fi
208+
210209
elif [[ $package == "gcc" ]]; then
211210

212211
# We arrive here when the 'elif [[ $package == "mpich" ]]' block pushes "gcc" onto the

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(directories_to_build single mpi tests)
1+
set(directories_to_build mpi tests)
22
foreach(directory ${directories_to_build})
33
add_subdirectory(${directory})
44
endforeach()

src/Makefile

Lines changed: 62 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,84 @@
1+
# Makefile
2+
#
3+
# -- This Makefile builds the OpenCoarrays libraries using setings in make.inc.
4+
# (Please edit make.inc before using this Makefile.)
5+
#
6+
# Instead of using this Makefile, the preferred alternative is to invoke
7+
# ./install.sh, which builds the caf compiler wrapper, the cafrun program
8+
# launcher, the test suite, and any undetected prerequisite packages, and
9+
# which customizes the build for the environment.
10+
#
11+
# Usage (default: GASNET=no):
12+
# make - Builds libcaf_mpi.a, the MPI transport layer.
13+
# make GASNET=no all - Builds libcaf_mpi.a and libcaf_gasnet.a.
14+
# make clean - Deletes *.o files. Retains *.a files.
15+
#
16+
# OpenCoarrays is distributed under the OSI-approved BSD 3-clause License:
17+
# Copyright (c) 2015-2016, Sourcery, Inc.
18+
# Copyright (c) 2015-2016, Sourcery Institute
19+
# All rights reserved.
20+
#
21+
# Redistribution and use in source and binary forms, with or without modification,
22+
# are permitted provided that the following conditions are met:
23+
#
24+
# 1. Redistributions of source code must retain the above copyright notice, this
25+
# list of conditions and the following disclaimer.
26+
# 2. Redistributions in binary form must reproduce the above copyright notice, this
27+
# list of conditions and the following disclaimer in the documentation and/or
28+
# other materials provided with the distribution.
29+
# 3. Neither the names of the copyright holders nor the names of their contributors
30+
# may be used to endorse or promote products derived from this software without
31+
# specific prior written permission.
32+
#
33+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
34+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
35+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
36+
# IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
37+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
38+
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
39+
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
40+
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
41+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42+
# POSSIBILITY OF SUCH DAMAGE.
43+
144
include make.inc
245
export
346

47+
# Conditionally enable the build of the GASNet library libcaf_gasnet.a,
48+
# an unmaintained but previously functional MPI alterntive.
49+
ifeq ($(GASNET),yes)
50+
gasnet_=gasnet
51+
endif
52+
453
.PHONY : common
5-
.PHONY : single
654
.PHONY : gasnet
755
.PHONY : mpi
8-
#.PHONY : armci
56+
.PHONY : $(gasent_)
57+
58+
all: common mpi $(gasnet_)
959

1060
mpi: common
1161
$(MAKE) -C $@
1262

13-
all: common single gasnet mpi # armci
14-
1563
common:
1664
$(MAKE) -C $@
1765

18-
single: common
19-
$(MAKE) -C $@
20-
21-
#armci: common
22-
# $(MAKE) -C $@
23-
66+
ifeq ($(GASNET),yes)
2467
gasnet: common
2568
$(MAKE) -C $@
69+
endif
2670

27-
test: single gasnet mpi #armci
28-
$(MAKE) -C tests test
29-
test-mpi: mpi
30-
$(MAKE) -C tests test-mpi
31-
test-gasnet: gasnet
32-
$(MAKE) -C tests test-gasnet
33-
#test-armci: armci
34-
# $(MAKE) -C tests test-armci
35-
test-single: single
36-
$(MAKE) -C tests test-single
37-
38-
run: single armci gasnet mpi
39-
$(MAKE) -C testsuite run
40-
run-mpi: mpi
41-
$(MAKE) -C testsuite run-mpi
42-
run-gasnet: gasnet
43-
$(MAKE) -C testsuite run-gasnet
44-
#run-armci: armci
45-
# $(MAKE) -C testsuite run-armci
46-
run-single: single
47-
$(MAKE) -C testsuite run-single
48-
71+
# Delete temporary files files:
4972
clean:
50-
# $(MAKE) -k -C common clean
51-
# $(MAKE) -k -C single clean
52-
# $(MAKE) -k -C gasnet clean
5373
$(MAKE) -k -C mpi clean
54-
# $(MAKE) -k -C tests clean
55-
# $(MAKE) -k -C armci clean
74+
$(MAKE) -k -C common clean
75+
ifeq ($(GASNET),yes)
76+
$(MAKE) -k -C gasnet clean
77+
endif
5678

5779
distclean: clean
5880
$(MAKE) -k -C common distclean
59-
# $(MAKE) -k -C single distclean
6081
$(MAKE) -k -C mpi distclean
61-
# $(MAKE) -k -C gasnet distclean
62-
# $(MAKE) -k -C testsuite distclean
63-
# (MAKE) -k -C armci distclean
82+
ifeq ($(GASNET),yes)
83+
$(MAKE) -k -C gasnet distclean
84+
endif

src/armci/Makefile

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)