GT4SD / gt4sd-core

GT4SD, an open-source library to accelerate hypothesis generation in the scientific discovery process.
https://gt4sd.github.io/gt4sd-core/
MIT License
336 stars 74 forks source link

Installation on M1 Macs #200

Open MAlberts99 opened 1 year ago

MAlberts99 commented 1 year ago

Installing gt4sd currently only works on M1 Macs through the use of Rosetta (an x86 emulator). When trying to install on an M1 mac natively I ran into the following issues:

Tables has a version for M1 but it's only available for python 3.11 or higher.

jannisborn commented 1 year ago

HI @MAlberts99, Thanks for reporting this! I'm not surprised you ran into issues. The first step to verify as necessary condition is to check if all of the problematic packages have an M1 installation. If not, I dont see a clear path to solving this.

We wont actively seek support for M1 in the future unfortunately. If someone manages to set this up or is interested in compiling a PR, we would appreciate that very much since the core developer dont use M1 and have no way of validating such a workflow.

Installing submodules selectively via package namespacing could solve this for specific gt4sd algorithms but there's currently no plan to change the core structure to that.

egozi commented 1 year ago

Hi @jannisborn We have a similar problem while building a docker with GPU support for the spark project. In addition, when running a cpu-based docker we encounter problems with the TF models. The result of running - from gt4sd.algorithms.core import AlgorithmConfiguration, is - The TensorFlow library was compiled to use AVX instructions, but these aren't available on your machine. qemu: uncaught target signal 6 (Aborted) - core dumped Is it possible to install gt4sd without TF?

jannisborn commented 1 year ago

Hi @egozi, There's no canonical way to remove individual packages from the installation pipeline. Did you install gt4sd with GPU setup and ran the above code from a machine with GPU access?

Install with GPU access via:

conda env create -f conda_gpu.yml

More information: https://github.com/tensorflow/tensorflow/issues/24548