-
Notifications
You must be signed in to change notification settings - Fork 12
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
Installing arm64 variant on Mac M1 #23
Comments
I can confirm same error using arm64 miniforge3 and fresh env.
Also, I don't get how it's |
Thanks for the feedback Peter! Ok, then it might be related to: |
should work. I'll see why it's pulling |
Alas, looks like a depend isn't arm64 yet:
|
I'll make a PR to add it to the migrator like I did for |
Yep, that's the conclusion I reached too. We are using Log details:
|
Fingers crossed for simpleitk. It hasn't received much attention in a while, apparently. |
The ITK devs are active on GitHub, but maybe not following the feedstock repo carefully? Edit: Once the migrator makes the PR obviously. |
Huh, it depends on |
Oddly, that one does have arm64 binaries:
I guess it was manually migrated by the devs? |
o.o Then that PR should have been closed because the bot doesn't know otherwise :( |
I am fixing 2.2.0 for libsimpleitk, which takes 2h to build or so, apparently. I also closed the arm64 migration PR, so the bot will realize at some point that it can actually migrate |
Nice sleuthing. Thanks, @psobolewskiPhD and @jaimergp ! |
Ok the I'll keep you posted! |
The arm64 bot has made the PR for |
Awesome, big thanks @jaimergp @psobolewskiPhD Also enjoy your weekend! 🌞 |
PR was merged. It should be available soon. |
Yup, it's live now. Trying
|
Guess why we recommend mamba in the installation instructions 😉 |
Looking at the pyopencl related packages different between this env (fresh) and my normal env (where pycleesperanto works) is
But if I mamba install just napari and then pip install napari-pyclesperanto-assistant:
and no |
Trying
|
The pyclesperanto installation instructions say: Mac-users please also install this:
Would you mind giving this a try @psobolewskiPhD ? |
@haesleinhuepf I don't have that in my regular napari/CLE env, but I will try:
So if |
This is consistent with what is stated at https://github.com/jrprice/ocl_icd_wrapper |
All conda-forge libraries that link to OpenCL do so through the khronos implementation for good ABI compatibility. The ICD loader mechanism allows to replace it with a different implementation, so it should be safe. I don't fully know what those words mean, but it was the conclusion of the OpenMM migration, which also relies on OpenCL. |
So it seems the pyclesperanto-prototype conda-forge package needs to also include |
Technically you can install any other OpenCL implementation on the environment and it will work. It's up to the downstream users of an OpenCL app to provide their implementation of choice. For some other projects, Apple's implementation doesn't cut it so the env should not contain the ICD wrapper. In this case, devbio-napari can add |
OK, i just checked, the conda-forge |
Because napari decided to add pyqt and pyside as dependencies in two variants for ease of use, but pyopencl decided not to. devbio can leave that choice to the user or call the shot add the apple wrapper. |
It's ironic that it's |
Fair enough, thanks again for your time and patience. |
I can confirm that mamba install -c conda-forge ocl_icd_wrapper_apple devbio-napari worked on my M1 mac Thanks to @jaimergp, @psobolewskiPhD and @haesleinhuepf for getting this fixed so quickly 🥳 |
@thawn does it also work without the ocl-icd-wrapper?
|
without the ocl-icd-wrapper, the installation of devbio-napari works. Napari starts fine, but the plugins using pyclesperanto are not available. In napari's python command line, when I tried import pyclesperanto_prototype as cle
cle.available_device_names() I got the the same error as @psobolewskiPhD. after installing import pyclesperanto_prototype as cle
cle.available_device_names()
Out[2]: ['Apple M1 Max'] |
That's all consistent with my tests above and what @jaimergp wrote. |
@jaimergp This conditional does work on osx-64 rosetta environment... |
In principle, it's correct as is now. These are not conda subdirs but virtual package constraints (win, linux, or osx), so both Intel and Apple Silicon are covered. I am on mobile now, but can you check the dependencies for the osx variant of devbio-napari? The i icon on https://anaconda.org/conda-forge/devbio-napari/files should help. edit: I can see the wrapper listed. Is 0.7.1 being installed? |
Aha! On osx-arm64 I'm getting 0.5.9! while on rosetta 0.7.1
And we have the answer: forcing 0.7.1:
|
|
@haesleinhuepf Maybe pycle-prototype on conda-forge should also include that ocl-wrapper? Want me to open an issue there? |
With conda-forge/devbio-napari-feedstock#17, we tried to make installing the platform-specifc openCL wrapper automatic for napari-devbio. Perhaps one could do the same in pyclesperanto-prototype? |
Thanks, @psobolewskiPhD . You're a hero! |
This makes sense to me, after all i don't think devbio-napari per se requires the wrapper right? Isnt just the pycle-prototype stuff that uses pyopencl? So it makes sense for it to pull in the wrapper, not devbio, which is one level above so to speak. |
Correct @psobolewskiPhD . Actually, it might make sense to install the wrapper together with pyopencl. We may also let the redlionfish people know about this modification. They also depend directly on pyopencl |
Pyopencl dropped the wrapper, seemingly intentionally, so I think it's up to you for your package. Edit: At some point I have to try and see if |
Hint: Don't spend too much time on pocl. It's not a reasonable replacement for a real graphics processing unit, it's just an emulator. |
If that's the case, then the apple-wrapper needs to be in! |
Good news!
pycle-assistant stuff works, simpleITK stuff works, platymatch works. full conda list:
|
Nice work, @psobolewskiPhD ! I believe |
Ah, so i had it earlier because arm64 was getting old devbio. Now it's up-to-date so no cellpose—quicker install tho! |
I think there's a pathway to adding it back though (see here). I'm a cellpose fan, so I think adding the |
@psobolewskiPhD , am I understanding correctly that the current |
On a related note, thank you for all of your work to make the scientific python easily installable on M1/M2 macs, @psobolewskiPhD ! I've seen you making fixes and helping people all over the place. Amazing! |
Yes sir! I'll make a PR. |
Awesome! 🚀 |
I've made a PR to the RLF feedstock to add the wrapper on osx. Hopefully I didn't mess anything up! |
I'm attempting to install devbio-napari on a Mac M1. I do have rosetta installed and there everything works great. I'm failing to setup an environment using the arm64 architecture.
I followed the instructions here and use this command to setup an environment:
And receive this error:
Maybe @thawn or @psobolewskiPhD can give me hints? (-:
Thanks!
The text was updated successfully, but these errors were encountered: