-
Notifications
You must be signed in to change notification settings - Fork 3
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
python's scipy package broken on Trixie #68
Comments
Did you try this command yet?
When using the CC CVMFS on trixie - It is not recommended to mix use of Anaconda/miniconda and Python/pip installed from CC wheelhouse (binary python packages in /cvmfs software path use RPATH to their own CC glibc libs). See: https://docs.computecanada.ca/wiki/Anaconda/en While it may work during compatible versions, there are many cases were it will not due to library incompatibility. Setting LD_LIBRARY_PATH could break compute canada binary software as it can override the glibc path. The reason it gives an error is that RPATH is being over-ridden, even though the gcc lib paths are setup correctly with CC stack and would otherwise work. Prefer conda over pip when-ever possible:It's best to try to let conda find a package first; though I presume that you need pip since conda channels don't currently have simAlign. https://www.anaconda.com/blog/using-pip-in-a-conda-environment
If conda decides to use a specific version - pip may conflict with that choice, provided you are not using 100% conda install to get the required libraries. The pip resolved dependency graph may decide to uninstall and reinstall various modules such as scipy and numpy - even if conda would not have chosen those versions (to maintain compatibility). This is why it is suggested to use conda first and minimal pip install at the end to fulfill any packages needed, but not to try to then do a conda install after that or pip reinstall of a conflicting package - unfortunately pip sometimes decides to do that. It would be better to re-create the env in conda and then re-do the pip installs if you need to upgrade or add further conda pkg.
That all being stated: the pip command and python commands are in the correct bin PATH inside your env. So it's hard to see why exactly the pip command is getting wheels from the CVMFS; though I've had it happen as my user as well. Proposed alternative solutions:
As an alternative solution: it is possible to bypass the use of wheels when installing into conda, and thus avoid the conda pip command from finding the CC wheelhouse (scipy, etc.). (By default the pip command installs wheel files in first preference, when it finds them available.)
This may not work as well when conda is providing some other libraries or integration of tools not found in module files of the cluster. In that case, some C/C++/Fortran dependency libs may need to be compiler from source manually into a module file loaded at runtime, or made available with eb command in custom modules path. |
Hi, Trixieconda \
create \
--yes \
--name=simAlign-0.3 \
--channel=pytorch \
--channel=conda-forge \
--channel=anaconda \
cudatoolkit=10.1 \
cudnn \
ipython \
nccl \
nvidia-apex \
python=3.7 \
pytorch
conda activate simAlign-0.3
pip \
install \
simalign==0.3 \
tokenizers==0.10.1 \
transformers==4.3.2
conda env config vars set TRANSFORMERS_CACHE=/gpfs/projects/DT/mtp/models/transformers
conda env export > $CONDA_PREFIX/conda.env.export.yaml What I could try is to use |
Another approach to separate dependencies from the base system is to use a container. A pre-made singularity container which includes minicoda can be leveraged to install the conda environment + pip packages as you detailed above, but as a separate entity which doesn't rely on system python or scipy version. Container is located at path: Testing it seems to show it working with example from: https://github.com/cisnlp/simalign
To run a script from a file instead of interactive using singularity container:
|
Does that imply that we are able to create our own singularity.sif? I thought we had to be root to do that. |
You should be able to, using commands similar to:
The The contents of the miniconda_4.8.2.def file:
However, as I note there are generic miniconda3 containers in docker repo and you can also pull a docker image from singularity and run it directly. Such as:
|
Hi,
I want to use
simAlign-0.3
and I created aconda
environment to do so but the computeCanada package is missingGLIBCXX_3.4.21
.source /gpfs/projects/DT/mtp/models/WMT2020/opt/miniconda3/bin/activate
There error is from scipy which is a computeCanada package
scipy==1.4.1+computecanada
The text was updated successfully, but these errors were encountered: