Skip to content

Conversation

@erikvansebille
Copy link
Member

@erikvansebille erikvansebille commented Aug 24, 2023

Following the discussion in #1299 (comment), this PR attempts to move Parcels to one 'noarch' environment file without a different compiler for each architecture

Steps to take

To test if this doesn't break CI
environment.yml Outdated
Comment on lines 9 to 10
- mpi4py>=3.0.1 # [unix]
- mpich>=3.2.1 # [unix]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are these needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are exactly the issue; they are needed for MPI support (which many developers want/use); but not available for Windows.
The alternative is that we don't add these two packages at all; and then ask users to install them manually if they want to run MPI

Copy link

@ngam ngam Aug 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I finally understood your issue. You cannot move to a single arch environment for dev.

  1. For end users, you can just list parcels and things will just work (no need to list specific parcels deps)
  2. For dev users, you will need to get them the parcel deps correctly ahead of time, and for that you need separate files because of issues surrounding compilers and MPI

dependencies:
- python>=3.8
- cgen
- clang_osx-64
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you only needed to change this to c-compiler for this file to work for both osx64 and osx-arm64

@@ -6,9 +6,6 @@ dependencies:
- cgen
- ffmpeg>=3.2.3
- git
- gcc_linux-64
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, remove this regardless. Can use c-compiler instead for flexibility.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so that this env can in theory work for linux-aarch64 and linux-ppc64

Comment on lines 10 to 11
- mpi4py>=3.0.1
- mpich>=3.2.1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've never used this feature, but you can try using the mamba selectors like commented in the other issue

@erikvansebille erikvansebille changed the base branch from master to v3.0 September 26, 2023 17:46
@erikvansebille erikvansebille mentioned this pull request Sep 28, 2023
10 tasks
@erikvansebille erikvansebille merged commit ce0ef73 into v3.0 Oct 2, 2023
@erikvansebille erikvansebille deleted the noacrch-environment-file branch October 2, 2023 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants