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

Fix build against cuda<=11 #851

Merged
merged 1 commit into from
Aug 10, 2020
Merged

Conversation

bartoszek
Copy link
Contributor

Have some trouble building against cuda:11 so i reworked nvcc compute arch section a bit, now it looks clearer and nicer.
btw. is there a way to force build for specific compute capability, can't find it anywhere?

@simogasp simogasp requested a review from griwodz August 2, 2020 13:55
@simogasp simogasp added the CUDA label Aug 2, 2020
@simogasp simogasp added this to the 2020.1.0 milestone Aug 2, 2020
@bartoszek bartoszek force-pushed the develop branch 2 times, most recently from 5985cff to 96c1ec7 Compare August 2, 2020 15:58
@simogasp
Copy link
Member

simogasp commented Aug 3, 2020

@griwodz maybe we can take the cmake function you did for popsift here as well?

@griwodz
Copy link
Member

griwodz commented Aug 3, 2020

Have some trouble building against cuda:11 so i reworked nvcc compute arch section a bit, now it looks clearer and nicer.
btw. is there a way to force build for specific compute capability, can't find it anywhere?

To use only a single CC (and save a lot of compile time), I'm usually running the usual cmake first and I edit the ALICEVISION_CUDA_CC_LIST variable in the CMakeCache.txt afterwards (I use ccmake, but manual should also work).
You can probably also add -DALICEVISION_CUDA_CC_LIST=YourCC to the first cmake call for the same result, but I'm not sure.

@griwodz
Copy link
Member

griwodz commented Aug 3, 2020

@griwodz maybe we can take the cmake function you did for popsift here as well?

@simogasp Should I try to do it in this pull request? Or take the current PR as an urgent fix because more people are upgrading to SDK 11 and create a new PR to add the ChooseCudaCC.cmake file?

@simogasp
Copy link
Member

simogasp commented Aug 3, 2020

I think you can go directly with this one, we fix it properly once for all

src/CMakeLists.txt Outdated Show resolved Hide resolved
@bartoszek
Copy link
Contributor Author

You can probably also add -DALICEVISION_CUDA_CC_LIST=YourCC
Thanks @griwodz , somehow I thought it would be overwritten 🤦

@griwodz
Copy link
Member

griwodz commented Aug 3, 2020

You can probably also add -DALICEVISION_CUDA_CC_LIST=YourCC
Thanks @griwodz , somehow I thought it would be overwritten 🤦

@bartoszek The set() operation is in an if() and there's no CACHE label, so you're probably right and it is overwritten. It will work with the cmake file that we'll adapt from PopSift in a followup-PR, but we should merge your PR first because it fixed SDK 11 now and not next week. ;-)

@bartoszek
Copy link
Contributor Author

griwodz
griwodz previously approved these changes Aug 3, 2020
Copy link
Member

@griwodz griwodz left a comment

Choose a reason for hiding this comment

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

I think it's ready for merging.

@bartoszek
Copy link
Contributor Author

Sorry, accidentally push some local stuff here - already rolled back.

deece added a commit to deece/AliceVision that referenced this pull request Aug 5, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 6, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 6, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 7, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 7, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 7, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 7, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 10, 2020
Tested with:
UBUNTU_VERSION=18.04 CUDA_VERSION=10.2
UBUNTU_VERSION=20.04 CUDA_VERSION=11.0

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
@simogasp simogasp merged commit 32e626e into alicevision:develop Aug 10, 2020
@simogasp
Copy link
Member

thx for the contribution!

deece added a commit to deece/AliceVision that referenced this pull request Aug 27, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Aug 28, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Sep 3, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Sep 3, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
fcastan pushed a commit that referenced this pull request Sep 8, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: #851

Signed-off-by: Alastair D'Silva <[email protected]>
deece added a commit to deece/AliceVision that referenced this pull request Sep 8, 2020
These Docker scripts differ in the following ways:
- New arguments
- Support parallel building
- Use common downloads in the host environment across many images
- Don't build the bundle (as the install is needed for Meshroom)
- Only copy in the required files when needed to minimise rebuilds
- Uses the distro cmake, which is recent enough
- Build suitesparse & lapack (requires GMP & MPFR as deps)
- Requests Docker delete intermediate images on success
- Images are tagged with the AliceVision branch & commit, plus distro & CUDA versions

Tested with:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

Note: CUDA 11 support depends on the following PRs:
Popsift: alicevision/popsift#103
AliceVision: alicevision#851

Signed-off-by: Alastair D'Silva <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants