dynverse / dynmethods

A collection of 50+ trajectory inference methods within a common interface 📥📤
https://dynverse.org
Other
118 stars 26 forks source link

arm64 images support? #170

Open erzakiev opened 1 year ago

erzakiev commented 1 year ago

Hello & thanks for the great tool; Is there any possibility that (at least some of the) methods will be containerized under arm64 architecture so that it could be run on apple m1 or m2 silicon machines?

Whatever will be the answer for the question above, I would still like to try to emulate the existing amd64 method images using Rosetta2 with the additional --platform linux/amd64 argument to the docker run command. I can't seem to find any leads to such a command being invoked anywhere in the dyno package R code, could you point me to this exact moment when a docker image is being called, please??

Thanks in advance, Best, Emile

erzakiev commented 1 year ago

oops sorry it turns out that the error message about the wrong architecture was actually a warning message (and the error was in another issue in my case). So I have to assume that the images are being run under Rosetta2 emulation on my machine now. I wonder how big of a performance hit I get? Among the few methods that I tested so far, mst takes upwards of 15-20 minutes to compute trajectories for a dataset of 16k cells by 2k genes and paga_tree takes even longer and i thought it froze so i stopped it at ~10 minute mark before it produced the output.

If the performance takes a big hit (i am not sure how to test it, though), it could still be still beneficial to re-package the images for arm64 support.

I see that the docker images for the methods pull the main image dynverse/dynwrap_latest from dockerhub, which was made for the amd64 architecture. I searched the dynwrap repo for the Dockerfile definition file with which this docker image was built, in order to simply modify the base OS architecture in it, but it seems to be not there... Where can I find it?