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

Enable ppc64le #6

Merged
merged 4 commits into from
Jul 30, 2020
Merged

Conversation

jayfurmanek
Copy link

This PR adds support for building recent cudatoolkit versions for ppc64le.

  • Nvidia's RHEL7 based runfiles don't use embedded runfiles
  • Once the toolkit is extracted, it ends up in a directory called "cuda-toolkit'
  • the --extract runfile command is used because letting the runfile do an "install" results in attempted installs of .pc and doc files into standard Linux locations, which is not what we want.

#4

@jakirkham
Copy link

cc @jjhelmus

@jjhelmus
Copy link

jjhelmus commented Jun 2, 2020

AnacondaCON starts tomorrow and I have a week of vacation following the conference. I will not have time to look at this until I'm back on June 15th.

@jakirkham
Copy link

Sounds good. Thanks for the update. Hope you have a good break 🙂

@jakirkham
Copy link

Friendly nudge @jjhelmus 🙂

@jjhelmus
Copy link

I tried building this on our ppc64le machine inside a docker container we use for all our build, this failed with:

...
cuda_10.2.89_440.33.01_linux_ppc64le.run: 2.19GB [11:25, 3.20MB/s]                                                                                                                  
md5sum.txt: 3.07kB [00:00, 39.7kB/s]                                                                                                                                                
 Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.

The container has no compilers installed in order to insure that those provided by conda are used during the build. On x86_64 this setup works to build the package.

I'm working on testing in a container with a compiler installed.

@jayfurmanek
Copy link
Author

hmm..I'm not sure why the runfile is wanting a compiler on ppc64le.. It's likely I happened to have one installed when I tested.

@jayfurmanek
Copy link
Author

Looking back at this I do see an error when no gcc is installed. The cuda-intaller.log shows:

[INFO]: Setting extractPath=/home/conda/cudatoolkit
[INFO]: Setting toolkit=true
[INFO]: Driver not installed.
[INFO]: Checking compiler version...
[INFO]: gcc location: which: no gcc in ....
[ERROR]: Missing gcc. gcc is required to continue.

Installing the driver requires gcc (for the kernel module shim) but its not needed elsewhere. Perhaps the gcc check is just upfront in any case. It looks like there is an override that disables that check...and looks like that will do the trick:

[INFO]: Setting extractPath=/home/conda/cudatoolkit
[INFO]: Setting toolkit=true
[INFO]: Overriding compiler check
[INFO]: Driver not installed.
[INFO]: Extracting to /home/conda/cudatoolkit

I'll update the RP with the override flag set.

@jayfurmanek
Copy link
Author

OK, updated.
@jjhelmus Can you try again?

Also - avoid the conda-forge patchelf for this. I was getting ELF load command alignment not page-aligned errors in the load tests.

@jakirkham
Copy link

Also - avoid the conda-forge patchelf for this. I was getting ELF load command alignment not page-aligned errors in the load tests.

Would you be able to add a minimal reproducer here?

@jjhelmus
Copy link

jjhelmus commented Jul 30, 2020

Thanks for the update @jayfurmanek. With the most recent change this builds inside our docker container. Merging. Packages will be available later today.

@jjhelmus jjhelmus merged commit 5761c52 into AnacondaRecipes:master Jul 30, 2020
@jjhelmus
Copy link

cudatoolkit-10.2.89 packages are now available in defaults for the linux-ppc64le platform.

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.

3 participants