Skip to content
This repository has been archived by the owner on Apr 26, 2022. It is now read-only.

WIP: Add CUDA support (proposal) #1

Closed
wants to merge 2 commits into from
Closed

WIP: Add CUDA support (proposal) #1

wants to merge 2 commits into from

Conversation

jakirkham
Copy link
Member

PLEASE DO NOT MERGE!

This PR attempts to build Caffe with CUDA support in addition to regular CPU support. It is far from done and will likely be broken up into a CUDA package that Caffe can then build against. Also, it does not currently contain cuDNN. The later requires registration for download. This may require some discussion with NVIDA about the best way for us to package these CUDA components and ship them. Most libraries appear to be ok by the EULA (though IANAL). However, it appears only one header is allowed. I don't know if this presents a problem for building against the libraries or not. Hopefully, this will help the discussion in this issue ( conda-forge/conda-forge.github.io#63 ) proceed by looking at a real world example.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly conda-forge-admin automated user.

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.

@jakirkham
Copy link
Member Author

Given the tests pass, this must mean there is an NVIDA GPU on the test machine. I tried the same thing on a machine without an NVIDA GPU and it failed to run the tests even though it was able to build successfully.

export CUDA_RPM_MD5="01fd3415b197f9ddc4e58f5a4f2a9af6"
curl "http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-${CUDA_RPM_VERSION}.x86_64.rpm" > cuda.rpm
md5sum cuda.rpm | grep "${CUDA_RPM_MD5}"
yum install -y cuda.rpm
Copy link
Member

Choose a reason for hiding this comment

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

So should we be doing this as a conda package?

Copy link
Member Author

Choose a reason for hiding this comment

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

That is an open question for sure. There are three options that come to mind. Some could be mixed. There could also be other variants.

  1. Package it and make it a dependency.
  2. Create a pseudo package that merely verifies the system version is present and works.
  3. Use the system version and document the requirement.

A related point is that GPU support probably should be an optional feature so that users can install this and get basic CPU support without GPU. However, users wanting GPU support (and possibly CUDA in particular) could have a feature package they install to enable this support.

Copy link
Member Author

@jakirkham jakirkham May 17, 2016

Choose a reason for hiding this comment

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

If we went for 3, we could use yum requirements (of course we need to add the repo though).

@ocefpaf
Copy link
Member

ocefpaf commented Jun 23, 2019

Closing as stale (2016).

@ocefpaf ocefpaf closed this Jun 23, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants