-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 1.5.0 #78
Merged
Version 1.5.0 #78
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remove obsolete architectures, add march=znver2 option to gnu
Cloudsc variant using SCC optimization with field_api (standalone repo)
Openacc k-caching variant
* Initial copy of the python driver files and settings to the dedicated branch * Python calling of Fortran works in the develop branch * add missing fortran part * bundle build works for python driver * Cleanup of the execution process * Small cleanup. Verifies with activation of venv and setting LD_LIBRARY_PATH * rpath passed to f2py to find .so libs automatically. Works on Mac, to be checked on Atos * python packaging configs * abstracting field_c_to_fortran * abstracting field_fortran_to_c * rearrangement of pyiface sources, validates on ATOS, python packaging still not working * Mods to be able to perform pip install. Works with Python 3.11 * cmake improvements for the python driver to find its dependencies smoothly. Temporarily Python is a required package to build cloudsc * pyproject.toml added, now builds correctly on ATOS * First round of cmake cleanup * Second batch of cmake cleanup. Added ctest entries * Third batch of CMakelist improvements * Add master compiler options to f2py invocation; diagnostics and comment removal * Revert to explicit cloudsc loader in Python, not needed on Mac but needed on Atos. Add importlib to requirements for completeness * Basic README added * Fix to reenable CI in Github * Remove locals from driver, add clic option * encapsulation of parameters * Expands almost work, except for 4D vars * Calling expand works, but nlev has to be hardcoded in expand_r3, possibly to bug in f2py? * Setting nproma works * Setting ngptot works * Cleanup using pylint, a few pylint complains remain, but wont be adressed * Trying to make Python optional * Try once again * Try once again * Try once again * Try once again * Try once again * Turn off the build of Python interface for CI * RC1 - works successfuly with nproma=32 on ATOS using GNU and Intel. Now to the last check on Mac * RC2, corrected wrong character in Readme, downgrade of compulsory Python version in cmake to 3.8 to reenable CI compilation. Pyiface version itself is not tested in CI * PyIface: Reverting to 3.8 default Python version * PyIface: Use cmake macros to setup venv and build/install there This way we do not rely on the user to setup an bespoke venv and eventually shoot themselves in the foot. * PyIface: Clean up CMake layer by separating post-processing steps We now have three clearly defined steps to generate Python wrappers. * PyIface: Clean up cloudsc_data utility modules Remove redundant use of itemgetter, switch to keyword-args call signatures, etc. * PyIface: Do dynamic module load via utility routine and CLI override This now allows us to point to the wrapped-and-generated CLOUDSC Fortran module, so that we can execute the driver from anywhere. * PyIface: Fix pip installation of python utility package * PyIface: Dropping second pip install and install into build/bin This drops a lot of redundant source file copying in the final stage, where we now only copy the driver script over and rely on correct path discover via the CLI options. This now also allows, in theory, to use editable install of the Python package. * PyIface: Fix erroneous usage of expand_r3 and remove expand_r3bis * PyIface: Rename Python package to pyiface * PyIface: Fix ctest and install as editable; fix typo in error message * PyIface: Add CLI override for input file path location * PyIface: More fixes to path handling in driver * PyIface: Add second author to pyproject.toml * Install driver script in venv_pyiface * Add pyiface to Github actions * Github: export F77, F90 env vars * Custom run signature and dedicated build matrix entry for pyiface * Turn off pyiface by default * Add pyiface flag in build name * altered tendency names in cloudsc to match Loki transformations * Added cloudsc pyiface binary option to build.yml. Update of the READMEs * Formatting of READMEs are updated * README fix * Readme fixes, numbers of microphysics variables sources from the include file * Update performance after including constant microphysics variable numbering into cloudsc; add missing space * PyIface: Use constant cloud variable indices from common module * PyIface: Final tweaks to READMEs and pyproject.toml --------- Co-authored-by: Michael Lange <Michael.Lange@ecmwf.int> Co-authored-by: Balthasar Reuter <balthasar.reuter@ecmwf.int>
Python: Adapt to latest GT4Py release
This already install `run_f2py.py` into the venv, but not yet `run.py` and `run_split.py` for the GT4Py variants.
This includes a virtualenv setup, installation via add_custom_command depndency chain and a small ctest runner for the standalone Python variant.
…xes-by-nabr Fix LUMI-G archs for HDF5 in HIP variants
HDF5 support for CUDA/HIP/SYCL variants
Zero or negative values given as first argument of the various prototypes led to errors. This commit adds semantic to 0 or negative values by enabling the program to read the OMP_NUM_THREAD value from the environment, or using the number of procs availables if the variable is not defined.
Add first argument values and the associated effect on the multithreaded behavior
…eduler Adjust CUDA-specific loki config file to Loki v0.2.0
Add semantic for reading thread count from $OMP_NUM_THREADS
Compatibility with Loki v0.2
Update Github actions versions to remove node.js warnings
Update loki version to 0.2.0 and field_api to 0.3.0
mlange05
approved these changes
Mar 22, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, looks good, as discussed offline.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge develop to master for release of version 1.5.0