Feature/add pixi - #75
Conversation
|
I have run this now on Fahrenheit until the MARS stuff which needs fixing. Pgd + input was fine. Modifcations needed: And I needed to update the Fahrenheit toolchains, by adding: Will set the boundaries complete and test with existing boundaries |
|
I was able to run this PR on Fahrenheit, but C903 still fails so needed to use pre-interpolated boundaries. Traceback: |
|
Before I use to much time on it, I want to know if we still want to be able to install the project with poetry after merging this PR in? It should be possible, but doesn't work out-of-the-box, so it requires some more time to understand how to fix it. |
|
Status on LUMI Note: in an earlier version of this comment a segmentation fault was mentioned; re-creating the environment results in a working Python 3.14 environment; Performance wise the setup on LUMI seems to be slow; it feels even slower as the previous Python3.10+poetry setup. Status on LEONARDO |
|
@jacobsnoeijer how is the performance if you use the frozen environment, i.e. run |
I argue that the whole point of implementing pixi is to reduce the assumptions of the presence of non-pythonic dependencies ( e.g. |
For example Next, Note: this ~4 minutes loading of the environment is sometimes also observable in task executions (i.e. consumed WALLTIME per task might increase with ~4 minutes on LUMI). This causes also the crash reported in #75 (comment) when WALLTIME are set quite tight. |
|
For reference: to use the gdal loaded with pixi on LUMI one needs to remove from Crash in Pgd due to WALLTIME: increased time from |
|
Thanks for all the performance analysis @jacobsnoeijer The following comment strikes me
Do I interpret it correctly that once you have resolved the environment, e.g. with |
My assumption is that reading from disk (or at least reading a lot of files from disk) is really slow om LUMI. Also with |
|
On belenos I had to switch of the SSL certificat check by downlading the install.sh script and do some editing. Not very satisfactory. Would you be able to assist here @ludovicauger, @nicolasCtd, @tlestang ? When running Does anyone have any knowledge about python versions and eccodes/eccodeslib on belenos? |
So this means Belenos only advertises compatibility with manylinux_2_17 wheels, while this package requires manylinux_2_28. Since manylinux_2_17 corresponds to glibc 2.17, it suggests the system userspace is based on a fairly old glibc baseline from 2012 (!). 2_28 was released in 2018 so it is not an outrages requirement :D |
Indeed Regardless of what we think targeted platforms should look like we need to handle these cases. Especially for a platform like belenos which is considered as a platform where tactus should work. What's the level of configurability with pixi given that we have been able to install with micromamba/conda? |
You have to use the certificate: |
|
@uandrae or others with access to Belenos, could you try removing the |
Thanks for the suggestion. Tried it but I'm afraid eccodes is not the only library depending on newer versions. This is the next problem: |
|
Well, as container support will probably still take some time, we could check if all those wheels that Belenos has issues with are available on conda-forge. For |
Thanks for the suggestion. With the changes below we arrive to Of course the proof of functionality is in the full execution, but at least this gives a hint about possibilities and limitations. |
These changes will most likely also work on other machines than Belenos, so should I implement them on the branch, and then we can do a full test on Belenos to see if it works? |
Describe your changes
This PR introduced the possibility to manage the tactus project and its dependencies using
pixi(https://pixi.prefix.dev/latest/).Type of change
Please delete options that are not relevant.
Checklist before requesting a review
Testing
atos_bologna.tomlconfiguration in the latest version of Tactus-test-runnerlumi.tomlconfiguration in the latest version of Tactus-test-runnerFor further information see the development guide
Code quality
pullwith--rebaseoption if possible).poetryafter the changes and runsChecklist for reviewers
Each PR comes with its own improvements and flaws. The reviewer should check the following:
Author checklist after completed review
reflecting type of change, for example "bug fixes", add section where
missing)
Checklist for assignees
Tag possible reviewers
You can @-tag people to review this PR in addition to formal review requests.