conda-forge / nvcc-feedstock

A conda-smithy repository for nvcc.
BSD 3-Clause "New" or "Revised" License
12 stars 23 forks source link

Add PowerPC #66

Closed jaimergp closed 3 years ago

jaimergp commented 3 years ago

Checklist

Questions:

Closes #21

conda-forge-linter commented 3 years ago

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.

jaimergp commented 3 years ago

Ok, that did the trick. Now we need to wait for the docker-images PR.

jaimergp commented 3 years ago

The Docker images are now available and the packages can get built!

A question is still pending though: what do we do about the sysroot dependency? PowerPC CUDA 11.0+ uses CentOS 8, so I guess that requires a new sysroot or am I mistaken? @isuruf @kkraus14 @jakirkham

jakirkham commented 3 years ago

^ @beckermr do you know what we need to do to add CentOS 8 support?

beckermr commented 3 years ago

We have no support for centos8.

jaimergp commented 3 years ago

That means we are stuck with CUDA 10.2 on ppc64le for now (I'm ok with that).

beckermr commented 3 years ago

CentOS 8 is reaching EOL very early compared to 7. I am wondering if maybe upstream can keep to centos 7?

@jakirkham ?

jakirkham commented 3 years ago

Unfortunately there are no CUDA Toolkit versions for CentOS 7 and CUDA 11.0+ on PowerPC or ARM. Only CentOS 8

cc @kkraus14 (in case I'm missing anything here)

kkraus14 commented 3 years ago

As far as I know the only supported platform is RHEL 8 for CUDA 11.0+. That being said, the installers are all based on the runfile, which typically aren't OS specific in any way. For PPC64 that is https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux_ppc64le.run for CUDA 11.3.

We could possibly check the glibc versioning in there and see?

beckermr commented 3 years ago

It is technically feasible to support cos8 in conda-forge, but the expected lifetime of that distribution is small because they shortened the support period. Thus I'd prefer to not spend time on that. Maybe @isuruf has thoughts?

beckermr commented 3 years ago

Another comment: We should support newer glibc's than cos7, but we might want to get them some other place (e.g. rocky linux).

jaimergp commented 3 years ago

That being said, the installers are all based on the runfile, which typically aren't OS specific in any way

The Docker images are based on COS8, though.

And 11.3 is also available now 🤦

jakirkham commented 3 years ago

Going on a little bit of a tangent, but do we know to what extent other things like CDTs and yum installs will change when moving to Rocky?

isuruf commented 3 years ago

The Docker images are based on COS8, though.

We can just install the runfile on centos 7 docker image. I checked and cudatoolkit=11.0.3 conda ppc64le package only uses glibc_2.17 which is centos 7.

beckermr commented 3 years ago

Going on a little bit of a tangent, but do we know to what extent other things like CDTs and yum installs will change when moving to Rocky?

I have no idea. We'll want to confer with anaconda as well since they might choose a different solution and that could matter.

cc @chenghlee

isuruf commented 3 years ago

Can we please move the conversation about centos 8 or other distro to another issue?

Let's keep the discussion here about whether we need centos 8 or not for cuda.

jaimergp commented 3 years ago

What is the estimated effort for the two feasible options now?

jakirkham commented 3 years ago

Opened issue ( https://github.com/conda-forge/conda-forge.github.io/issues/1432 ) to discuss how to handle CentOS 8

isuruf commented 3 years ago

Package sysroot for COS8.

A few weeks probably and would have to fix some fires while we get it right.

Frankenstein Docker images for CUDA 11.

A day

What happens if CUDA12 jumps to COS9?

There's no COS9

jaimergp commented 3 years ago

I see, thanks for the answers!

In the meantime, would it make sense to merge only for CUDA 10.2 while we figure out how to support CUDA 11+? I wouldn't even add the migrator yet, but some packages in "manual CUDA mode" (like OpenMM) could benefit from having the infrastructure pieces ready and build some packages with the stable bits.

jakirkham commented 3 years ago

Makes sense to me :)

jaimergp commented 3 years ago

I'll take that as a yes! I'll commit something shortly.

jaimergp commented 3 years ago

@conda-forge/nvcc everybody ok with merging this for 10.2 only?

jakirkham commented 3 years ago

Thanks Jaime! 😄