Skip to content

Releases: sourceryinstitute/OpenCoarrays

Bug fix release

06 Sep 21:12
Compare
Choose a tag to compare

The installation path naming convention that release 1.7.0 adopted for prerequisite packages now applies to OpenCoarrays itself. An installation line such as

./install.sh --install-prefix /opt/my-stuff

will result in all installed files and directories (.e.g, bin, setup.sh, etc.) being installed directly in /opt/my-stuff without appending the package name (opencoarrays) and version number to the path as happened in previous versions. If no installation prefix is supplied, the package name and version will still be in the default installation path. For example, installing the current version (1.7.1) with no arguments

./install.sh

will still result in an installation in ${OPENCOARRAYS_SRC_DIR}/prerequisites/installations/opencoarrays/1.7.1.

Use bare install prefixes

04 Sep 22:12
789c441
Compare
Choose a tag to compare

Before this release, the installation script appended subdirectories named
after the package and version to any user-specified install prefixes so

./install.sh -p gcc -i /opt -I 6.1.0

would produce an installation directory named "/opt/gcc/6.1.0".
This differs from how most packages interpret the install prefix
and can result in redundancy if the user has already included such
information in the -i argument. With this commmit, the bare user-
-specified install prefix will be used with nothing appended. If
no -i argument is present, the default still contains the package
name and version, e.g.

./install.sh -p gcc -I 6.1.0

now generates the following installation path:

${OPENCOARRAYS_SRC_DIR}/prerequisites/installations/gcc/6.1.0

Bug fixes and minor improvements to build system

25 Jul 19:09
1.6.2
2656bb3
Compare
Choose a tag to compare

Build Status

  • 🆕 Build defaults to installing GCC 6.1 if GCC is not recent enough
  • 🚥 Tests now run with GCC-6.1 on the continuous integration testing
    infrastructure
  • 🚜 -y/--yes-to-all added as an install.sh option to aid in
    scripted installations
  • 🐚 Improved support for CSH environment setup
  • 💻 Fixed #42 (coarray navier stokes failing) by correctly identifying OS
    and build system to CMake to run and link the tests only on
    x86_64 Linux (Custom assembly FFT routines prevent compiling and
    linking on ARM, OS X, etc.)
  • 🎰 Fixed bug causing #161 (allocate_as_barrier_proc failing) and added
    tests to ensure that such a failure would be caught more regularly
  • ☁️ Add more flexible download capability based on which download method
    is available on the system (FTP, wget, curl, etc.)
  • 💪 Made developer/contributor git-hooks more robust, and fixed problems for the hooks on Linux (#202) 🙏

As per usual, the distribution itself is in the compressed tar archive. The validity of the download may be verified by checking the SHA 256 cryptographic hash against the one provided here, and cryptographic verification that the binary came from us can be assured by checking that the hash matches for the binary, and by verifying the signature of the file containing the hash with GPG.

Update default compiler installation to GCC 6.1.0

19 May 04:49
1.6.0
7724f51
Compare
Choose a tag to compare

Build Status

New in this release for the install.sh automatic installation script:

🚧 GCC 6.1.0 is the default minimum requirement to avoid an automatic gfortran download, build, & installation.

🔨 GCC 6.1.0 fixes an issue that required disabling optimization (with -O0) when compiling OpenCoarrays. (GCC 5.4.0 will also contain the fix when 5.4.0 is released.)

🚀 GCC 6.1.0 + OpenCoarrays 1.6.0 are the first releases supporting Fortran 2015 events (event_type, event_post, event_wait, and event_query). Much like Fortran 2008 coarrays offer one-sided data communication -- with concomitant performance enhancements when mapped onto interconnects with special hardware support such as Infiniband remote direct memory access (RDMA) -- Fortran 2015 events offer a one-sided image-ordering mechanism that likewise enhances the performance of synchronizing execution across images. (Note: GCC 5.4.0, which will release chronologically subsequent to 6.1.0, will also offer event support when used in conjunction with OpenCoarrays 1.6.0 or later.)

🔨 GCC 6.1.0 fixes issue #160. (GCC 5.4.0 will also contain the fix when 5.4.0 is released.)

🔫 Users can force the use of a given compiler (or compiler version) by using --with-* arguments:

   ./install.sh \
   --with-fortran <fortran-compiler-path> --with-c <c-compiler-path> --with-cxx <C++-compiler-path>

or by using the corresponding -f, -c, and -C arguments, respectively.

🐚 install.sh writes setup.csh for C-shell users to source in order to set up their environment for using OpenCoarrays.

🌱 Improved handling of individual prerequisite package installation:

   ./install.sh --package mpich --install-dir <desired-installation-path>

🐶 install.sh replaces wget and ftp with curl for fetching packages online in OS X.

Known issue:

Multi-threaded GCC builds fail (e.g., ./install.sh -p gcc -j 2). This is a known issue with GCC and can be resolved by restarting with "-j 1" or by omitting the -j argument. It might be required that also delete the prerequisites/builds/gcc directory, if it exists, before restarting.

More flexible, robust, and extensive installation options

30 Apr 19:48
1.5.0
03cae00
Compare
Choose a tag to compare

1.5.0 Build Status

This version introduces a more flexible 💃, extensive, and robust ☕ installation process via a major overhaul 🔨 of "install.sh" and the scripts that support it. All script arguments have changed to greatly improve the argument-handling. Execute "./install.sh -h" at a shell command line for a help page. The behavior of executing "./install.sh" with no arguments remains unchanged and will still result in a default installation of OpenCoarrays and any undetected prerequisites.

  • Traditional single-character Unix-style flags 🎏 (preceded by "-") with corresponding longer equivalents (preceded by "--"). For example, either of the following statements produces a list of the packages the install.sh script is capable of installing:
./install.sh -l 
./install.sh --list-package
  • Arguments can now appear in any order as long as any flag requiring an argument immediately precedes the corresponding argument. For example, the following statement will install the with the minimum recommended version numbers of the gcc/gfortran/g++ compilers (pre-installed lower-numbered versions can be used with the --with-c, --with-cpp, and --with-fortran flags or can be installed by install.sh with the -I or --install-version flags):
./install.sh --package gcc
  • Default values for some flags for which passing the corresponding argument is optional.
  • Improved installation script robustness achieved by wrapping the bash3boilerplate 🔥 project's use case scripts and through pre-release script lint-removal guided by the shellcheck 🐚 tool.
  • Better organization of script-installed prerequisite packages. By default, all script-installed prerequisite package files are organized into three subdirectories of the new "prerequisites" subdirectory: source code is downloaded to the "downloads" subdirectory, built in a "builds" subdirectory, and installed in the "installations" subdirectory.
  • Experimental support for installing the Open Fortran Parser (OFP) and its supporting packages. For example, the following command will install OFP in your home directory:
./install.sh --package ofp --install-dir "${HOME}"

Currently, the script assumes that OFP and its prerequisites were not previously installed and requires that the prerequisite packages be installed in /opt (which requires sudo privileges) as binary files compiled for OS X only.

Fix semantics of calling `stop` from some images

11 Apr 01:50
1.4.0
2c5a140
Compare
Choose a tag to compare

Build Status

As of 2016-03-27 gcc-trunk (GCC 6) and gcc-5-branch (gcc > 5.3) will
not build OpenCoarrays versions prior to this release, 1.4.0

The semantics of calling stop from a subset of images were
incorrect. This defect was reported by Anton Shterenlikht (@mexas) in
bug report #160. (Thanks Anton!) The fix for this bug required changes
to GCC as well as OpenCoarrays. As a result, starting with the
development versions mentioned above and the as-of-yet-unreleased GCC
5.4, OpenCoarrays will fail to build, unless using this release, 1.4.0,
or a future one.

If you want to use the latest development versions of GCC and
OpenCoarrays, you will need to use an OpenCoarrays release >= 1.4.0.

If you are using GCC 5.3 or older versions, OpenCoarrays 1.4.0 and
previous versions should continue to build as expected.
(However, bug
#160 may persist without upgrading GCC.)

Bug: setup.sh fixed

09 Mar 23:18
1.3.8
4390c46
Compare
Choose a tag to compare

This release fixes an issue with the instructions issued by install.sh and the contents of setup.sh, which could interfere with the functionality of the installed OpenCoarrays for users who installed to locations not already on their PATH and/or without root privileges.

Install script bugfix

02 Mar 03:00
1.3.6
7e44f5d
Compare
Choose a tag to compare

🐛 Bug fix: An issue wherein install.sh might fail to install opencoarrays due to a renamed file.

Build system bug fixes and cleanup

20 Feb 03:41
Compare
Choose a tag to compare

Build Status

The following issues have been addressed in the 1.3.4 release:

  1. 🔨 Reduce the complexity and duplication of the CMake build system (issue #58)
  2. ♻️ Add uninstall target to CMake generated makefile; after installing OpenCoarrays, type make uninstall from the build directory to remove OpenCoarrays. Other software dependencies will not be touched.
  3. 🪲 Fix flip-flopped user yes/no (y/n) selection confirmation in install.sh installation script.
  4. 🎱 Default to yes (Y) for installation script options to perform a default build (issue #35) so that yes | install.sh or hitting <return> repeatedly will produce a non-interactive default installation.
  5. ⬇️ Download prerequisite packages using .bz2 or .gz compression, not .xz compression which might be missing on some older systems.
  6. ☁️ Fix problems fetching install prerequisites on linux with FTP (issue #123)

Commits and detailed changes from 1.3.2:point_right:1.3.4

OpenCoarrays-1.3.4.tar.gz is the release archive. The other files are the cryptographic hash and GPG signature of the hash to verify the authenticity of the release archive.

Bug fix release

02 Feb 22:25
Compare
Choose a tag to compare

EDIT: Feb 4, 2016 A small error occurred with the packaging of the release archive. A new source archive has been uploaded, fixing this issue. Please download OpenCoarrays-1.3.2.tar.gz below.

This release addresses the following issues:

  • Corrected ftp downloads of prerequisites on Linux.
  • Improved the setup.sh file that install.sh creates. Now setup.sh correctly adds gfortran/gcc/g++ and m4 to the PATH and sets LD_LIBRARY_PATH to default to searching for 64-bit libraries with 32-libraries as a second choice.
  • SYNC IMAGES now correctly error terminates for image sets containing duplicate image numbers