Skip to content
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

Cudatoolkit v10.1 #16

Merged
merged 36 commits into from
Oct 1, 2019
Merged

Cudatoolkit v10.1 #16

merged 36 commits into from
Oct 1, 2019

Conversation

andersy005
Copy link
Member

@andersy005 andersy005 commented Aug 24, 2019

Checklist

  • Used a fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@andersy005 andersy005 requested a review from xmnlab as a code owner August 24, 2019 00:20
@andersy005
Copy link
Member Author

Addresses #15

@andersy005
Copy link
Member Author

@conda-forge-admin, please rerender

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-webservice.

I tried to re-render for you but ran into some issues, please ping conda-forge/core for further assistance.

@andersy005 andersy005 changed the title Remove conda dependencies Cudatoolkit v10.1 Aug 25, 2019
@andersy005
Copy link
Member Author

andersy005 commented Aug 25, 2019

Update

  • Everything seems to be working just fine on my local machine (ubuntu 18.04). However, due an old OS (Centos 6) used by the container, there seems to be issues with old glibc version.
++ conda info

     active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /home/conda/.condarc
          conda version : 4.7.11
    conda-build version : 3.18.9
         python version : 3.7.3.final.0
       virtual packages : 
       base environment : /opt/conda  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/conda/pkgs
                          /home/conda/.conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.7.11 requests/2.22.0 CPython/3.7.3 Linux/4.15.0-1052-azure centos/6.10 glibc/2.12
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False
stdout: Running Post installation
downloading https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run to /home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/pkgs/cudatoolkit-dev/cuda_10.1.243_418.87.00_linux.run
Extracting on Linux

stderr: ./cuda-installer: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./cuda-installer)
./cuda-installer: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./cuda-installer)
./cuda-installer: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./cuda-installer)
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cudatoolkit-dev-post-install.py", line 257, in <module>
    _main()
  File "/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cudatoolkit-dev-post-install.py", line 253, in _main
    extractor.extract()
  File "/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cudatoolkit-dev-post-install.py", line 142, in extract
    raise exc
  File "/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/cudatoolkit-dev-post-install.py", line 138, in extract
    subprocess.check_call(cmd, env=dict(DISPLAY=""))
  File "/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '[PosixPath('/home/conda/feedstock_root/build_artifacts/cudatoolkit-dev_1566775645864/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/pkgs/cudatoolkit-dev/cuda_10.1.243_418.87.00_linux.run'), '--extract=/tmp/tmpd4rou7kq']' returned non-zero exit status 1.

return code: 1

- test -f $PREFIX/bin/cudatoolkit-dev-extra-args.json # [unix]
- test -d $PREFIX/scripts/activate.d # [unix]
- test -d $PREFIX/scripts/deactivate.d # [unix]
- numba
Copy link
Contributor

@pearu pearu Aug 26, 2019

Choose a reason for hiding this comment

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

The run_test.py seems to be equivalent to running nvvm --version. So, instead of making the test numba (and numpy) dependent, I'd suggest:

test:
  commands:
    - nvcc --version

@pearu
Copy link
Contributor

pearu commented Aug 27, 2019

Thanks @andersy005 , for the access!

Regarding the remaining GLIBC issue, I found this https://devtalk.nvidia.com/default/topic/1050512/cuda-setup-and-installation/error-during-installation-version-glibc_2-14-not-found/

I'll continue looking at the solution that would not require installing glibc..

@pearu
Copy link
Contributor

pearu commented Aug 28, 2019

OK, it looks like we are in a dead-end with this PR: cuda installer requires glibc 2.14 but azure CI build machine has glibc 2.12.

On the other hand, the built cudatoolkit-dev conda package should be usable from users machines (that have glibc 2.14 or greater). So, one solution would be to disable testing cudatoolkit-dev installation process on azure machines. This also means that cudatoolkit-dev could not be used as a dependency for packages that are built on azure CI (like omniscidb-cuda). Although, locally, in a user machine the cudatoolkit-dev dependency should work out fine.

Another solution is to downgrade cuda to a version where its installer works with glibc 2.12. v10.0 seems to be ok. This solution would hold back upgrading cuda versions until azure CI machines will have some newer glibc version installed.

@andersy005 @scopatz Thoughts?

@andersy005
Copy link
Member Author

@pearu,

I am in favor of merging this as is even though it will cause other packages that use cudatoolkit-dev as a dependency to fail the CI checks for the time being. It would be nice to know whether

  1. there's a plan of upgrading the base docker image's OS (to address the older glibc version issue) anytime soon?

and/or

  1. there's another way of addressing the glibc version issue ourselves?

@pearu
Copy link
Contributor

pearu commented Aug 28, 2019

Re 1: I don't know, I suspect not soon, otherwise, the CI instances would not be so old..
Re 2: one option is to create glibc conda package or build glibc within the post-installation script. Here are the basic instructions: https://www.jertype.com/posts/upgrading-glibc/

@pearu
Copy link
Contributor

pearu commented Oct 1, 2019

@isuruf thanks for the rhel6 hint!
@andersy005 please review.

Copy link
Member Author

@andersy005 andersy005 left a comment

Choose a reason for hiding this comment

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

Thanks @pearu, @isuruf! Glad to see this brought to completion.
Everything looks good to me. I can merge this soon unless there are any objection.

Copy link
Member

@xmnlab xmnlab left a comment

Choose a reason for hiding this comment

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

LGTM! thanks everyone for working on that!

@xmnlab xmnlab merged commit b943d10 into conda-forge:master Oct 1, 2019
@xmnlab
Copy link
Member

xmnlab commented Oct 1, 2019

as @andersy005 also approved that, I am merging this PR.

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.

5 participants