Releases: sourceryinstitute/OpenCoarrays
Improved & Official Windows Support
New Functionality
OpenCoarrays is now officially supported on Windows using the Intel MPI Library and a lightweight linux-like environment on Windows, like MSYS2. Note that the wrapper scripts likely still require a bash shell. CI testing on windows has been added to ensure proper functionality moving forwards.
Bug Fixes
- Made locating IntelMPI runtime library on windows more robust (PR #782)
- Thanks to @band-a-prend for fixing an issue that would occur when using clang (PR #777)
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
Fix Windows shutdown, reorganize directories, update to GCC 12.1.0
Windows Support!
New Functionality
This is the first OpenCoarrays release that supports the Windows operating system natively (without requiring the Windows Subsystem for Linux) -- contributed by @zbeekman in pull request #755. 🪟
Full Changelog: 2.9.3...2.10.0
Acknowledgement
OpenCoarrays 2.10.0 was developed for the U.S. Nuclear Regulatory Commission (US NRC) under contract # 31310020D0006: "Technical Assistance in Support of NRC Nuclear Regulatory Research for Materials, Waste, and Reactor Programs" awarded to Archaeologic Inc.
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
2.9.3
Bug Fix Release
New Functionality
- Feature:
install.sh
does faster GCC downloads by fetching release tar balls instead of cloning branches -- contributed by @rouson in #730 - Use GitHub Actions for continuous integration testing -- contributed by @everythingfunctional in #721
Bug Fixes
- Use dynamic symbol resolution for libmpi_caf on macOS to fix an issue that blocked CI testing -- contributed by @zbeekman
- Fix
install.sh
: handle mpifort invoking f95 -- contributed by @rouson in #724 - Fix segmentation fault when indexing into a static coarray -- contributed by @vehre in #741
- Issue 733 impl random init -- contributed by @vehre in #740
- Fix compile warnings
logical
->int
-- contributed by @vehre in #744 - Remove automatic issue-closing bots:
stale.yml
andno-response.yml
-- contributed by @rouson in #747 - Fix
operator
dummy argument name inco_reduce
to be match GCC 12 and Fortran 2018 standard -- contributed by @vehre in #746 - Fix issue #727
co broadcast
on mixed derived type -- contributed by @vehre in #751
New Contributors
- @everythingfunctional made his first contribution in #721
Full Changelog: 2.9.2...2.9.3
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Acknowledgement
Parts of OpenCoarrays 2.9.3 were developed for the U.S. Nuclear Regulatory Commission (US NRC) under contract # 31310020D0006: "Technical Assistance in Support of NRC Nuclear Regulatory Research for Materials, Waste, and Reactor Programs" awarded to Archaeologic Inc..
Improved error handling and bug fixes
New Functionality
- Improved handling of internal runtime errors (commit 7010d60) 🧹
Bug Fixes
- #700: Fixed problem with derived-type coarrays that have nested,
allocatable
derived-type components are now supported - #717:
cafrun
now shows usage information if invalid arguments are passed
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
Bug fix, installation improvements, and GCC/macOS version updates
Bug fix
Issue #511: the shape of coindexed multidimensional array component now yields the correct answer. 💠
Installer updates
- If
install.sh
builds GCC on macOS Catalina, it finds and uses the requisite macOS software development kit (SDK) header files. ⛰️ - GCC 10.1.0 is now the default minimum version used or installed by
install.sh
. Users may force the installer to use a lower version by invokinginstall.sh
with the-f
,-c
, and-C
arguments. 🆕 - Pull request (PR) #705 fixes an error in the compiler version-check code invoked by
install.sh
. - PR #705 switches the GCC download mechanism to
git
to address two issues: 📫- GCC development branches: the previous default (
svn
) can no longer be used because GCC has adoptedgit
. - GCC released versions: the previous default (
ftp
) is disabled on many systems for security reasons.
- GCC development branches: the previous default (
- Other minor installation improvements. 🏗️
Co_broadcast derived types; installation enhancements & bug fixes
New functionality
- When using GCC versions >= 10.0.0,
co_broadcast
now supports derived-type arguments withallocatable
components. 🎺 - When building GCC on macOS versions 18.7.0 (Mojave) or greater,
install.sh
now provides directions on how to install header-file prerequisites if missing. 🚧 🏗 👷
Expanded test coverage
- Revised an existing test of
co_broadcast
with derived type arguments so the test passes with GCC 7. - Added a comprehensive test of
co_broadcast
with 15-dimensionalallocatable
andpointer
components.
Bug fixes, installation enhancements, & documentation updates
install.sh
installer now passes newly required flags for building MPICH with GCC versions >= 10.0.0. 🇺🇸 🇩🇪 🏴 🇬🇧 🎏caf
compiler wrapper now correctly falls back to dynamic linking. ☕️INSTALL.md
andREADME.md
now reference a comprehensive listing of package managers along with each one's status. 🚦
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Bug fix release
- Fix #665: Install failure when
DESTDIR
is set- This was affecting distribution in some package managers, like AUR
- e.g., https://aur.archlinux.org/packages/opencoarrays/#comment-693351
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Improved Team Support & Partial Support for Collectives with Derived Types
New Functionality
- Full support for GCC/GFortran 9.1
- Partial support for
co_broadcast
with derived types (thanks to @afanfa!)- Limited to derived types without allocatable components, for now
- Performance optimization #630: An extraneous barrier was removed from
form team
(thanks to @nathanweeks) - The team value in the
sync team
statement may be a child team, consistent with the standard, #655 (thanks to @nathanweeks) - Updated build script diagnostic output and additional test for
co_braodcast
with DTs (thanks to @rouson) - Elimination of some warnings when compiling with clang (thanks to @zbeekman)
- An install receipt including SHA256 checksums is now included in the installation (thanks to @zbeekman)
- This will facilitate:
- Robust uninstall scripts
- Easier verification and enumeration of installed files and assets
- Verification that the files have not been corrupted
- Verification of reproducible builds
- This will facilitate:
Bug Fixes
- #632: Image selector indices should be with respect to the current team (thanks to @nathanweeks)
- Automated Dockerhub builds of the OpenCoarrays master branch were failing and have now been fixed
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
Build reproducibility and csh environment bug fix
Minor Fixes and Improvements
- The builds are now truly reproducible:
- The Fortran
repeat()
intrinsic function was embedding build path information and an alternate approach is used in its place
- The Fortran
- A bug in the installer script caused incorrect output intended for csh users to add to their dot files
- Headers no longer include MPI headers if the build does not find MPI
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays