fletch icon indicating copy to clipboard operation
fletch copied to clipboard

CUDA is no longer automatically detected

Open mattdawkins opened this issue 8 years ago • 11 comments

Now I need to specify a CUDA_TOOLKIT_ROOT_DIR with a fresh fletch, even when CUDA is installed in the default location

@aaron-bray I don't think this is desirable

mattdawkins avatar Oct 04 '17 03:10 mattdawkins

Ok, maybe I hijacked a variable I should not have

aaron-bray avatar Oct 04 '17 12:10 aaron-bray

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

dstoup avatar Oct 04 '17 13:10 dstoup

I agree I am looking at taking it out.

The next issue is going to be how to tell fletch users what cuda was used by fletch I also used the CUDA_TOOLKIT_ROOT_DIR variable in the fletchConfig I think that is still ok, as FindCuda.cmake will use that variable in kwiver if kwiver does a find_package(Cuda) Since we want kwiver and fletch to use the same CUDA

Fletch should automatically find the default CUDA on the system (when I remove those lines) But a user could point the CUDA_TOOLKIT_ROOT_DIR to a different, non default, cuda on their system (say they want to test CUDA 9.0) and kwiver should automatically use the same CUDA, since CUDA_TOOLKIT_ROOT_DIR is pointing to 9.0 in the fletchConfig.cmake

I think that make sense?

On Wed, Oct 4, 2017 at 9:42 AM, David Stoup [email protected] wrote:

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334159130, or mute the thread https://github.com/notifications/unsubscribe-auth/AadLH9ZUun2fFoez6MWpSYvd-ASET_Pvks5so4thgaJpZM4PtC1t .

aaron-bray avatar Oct 04 '17 13:10 aaron-bray

The FindCUDA module defines the following...

CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.

CUDA_VERSION_MINOR -- The minor version.

CUDA_VERSION

CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR

We should probably write those out to the fletchConfig.cmake.

On Wed, Oct 4, 2017 at 9:50 AM, aaron-bray [email protected] wrote:

I agree I am looking at taking it out.

The next issue is going to be how to tell fletch users what cuda was used by fletch I also used the CUDA_TOOLKIT_ROOT_DIR variable in the fletchConfig I think that is still ok, as FindCuda.cmake will use that variable in kwiver if kwiver does a find_package(Cuda) Since we want kwiver and fletch to use the same CUDA

Fletch should automatically find the default CUDA on the system (when I remove those lines) But a user could point the CUDA_TOOLKIT_ROOT_DIR to a different, non default, cuda on their system (say they want to test CUDA 9.0) and kwiver should automatically use the same CUDA, since CUDA_TOOLKIT_ROOT_DIR is pointing to 9.0 in the fletchConfig.cmake

I think that make sense?

On Wed, Oct 4, 2017 at 9:42 AM, David Stoup [email protected] wrote:

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334159130, or mute the thread <https://github.com/notifications/unsubscribe- auth/AadLH9ZUun2fFoez6MWpSYvd-ASET_Pvks5so4thgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334161372, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRAWmSVPH9oGRwSulIklSGIvFCdKkgCks5so40JgaJpZM4PtC1t .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive Clifton Park, NY. 12065 518-881-4949 (W) 518-312-3946 (M) 518-371-4573 (F)

dstoup avatar Oct 04 '17 13:10 dstoup

Ok, I will add those

On Wed, Oct 4, 2017 at 9:57 AM, David Stoup [email protected] wrote:

The FindCUDA module defines the following...

CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.

CUDA_VERSION_MINOR -- The minor version.

CUDA_VERSION

CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR

We should probably write those out to the fletchConfig.cmake.

On Wed, Oct 4, 2017 at 9:50 AM, aaron-bray [email protected] wrote:

I agree I am looking at taking it out.

The next issue is going to be how to tell fletch users what cuda was used by fletch I also used the CUDA_TOOLKIT_ROOT_DIR variable in the fletchConfig I think that is still ok, as FindCuda.cmake will use that variable in kwiver if kwiver does a find_package(Cuda) Since we want kwiver and fletch to use the same CUDA

Fletch should automatically find the default CUDA on the system (when I remove those lines) But a user could point the CUDA_TOOLKIT_ROOT_DIR to a different, non default, cuda on their system (say they want to test CUDA 9.0) and kwiver should automatically use the same CUDA, since CUDA_TOOLKIT_ROOT_DIR is pointing to 9.0 in the fletchConfig.cmake

I think that make sense?

On Wed, Oct 4, 2017 at 9:42 AM, David Stoup [email protected] wrote:

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334159130, or mute the thread <https://github.com/notifications/unsubscribe- auth/AadLH9ZUun2fFoez6MWpSYvd-ASET_Pvks5so4thgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334161372, or mute the thread <https://github.com/notifications/unsubscribe-auth/ AFRAWmSVPH9oGRwSulIklSGIvFCdKkgCks5so40JgaJpZM4PtC1t> .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive https://maps.google.com/?q=28+Corporate+Drive+%0D+Clifton+Park,+NY.+12065&entry=gmail&source=g Clifton Park, NY. 12065 518-881-4949 <(518)%20881-4949> (W) 518-312-3946 <(518)%20312-3946> (M) 518-371-4573 <(518)%20371-4573> (F)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334163869, or mute the thread https://github.com/notifications/unsubscribe-auth/AadLHyF09aVJE58VBp2W2Ng4TjrL7aU7ks5so47ZgaJpZM4PtC1t .

aaron-bray avatar Oct 04 '17 13:10 aaron-bray

Double check to make sure they are set correctly when you change tookits, but I suspect the Find module will do the right thing.

On Wed, Oct 4, 2017 at 9:58 AM, aaron-bray [email protected] wrote:

Ok, I will add those

On Wed, Oct 4, 2017 at 9:57 AM, David Stoup [email protected]

wrote:

The FindCUDA module defines the following...

CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.

CUDA_VERSION_MINOR -- The minor version.

CUDA_VERSION

CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR

We should probably write those out to the fletchConfig.cmake.

On Wed, Oct 4, 2017 at 9:50 AM, aaron-bray [email protected] wrote:

I agree I am looking at taking it out.

The next issue is going to be how to tell fletch users what cuda was used by fletch I also used the CUDA_TOOLKIT_ROOT_DIR variable in the fletchConfig I think that is still ok, as FindCuda.cmake will use that variable in kwiver if kwiver does a find_package(Cuda) Since we want kwiver and fletch to use the same CUDA

Fletch should automatically find the default CUDA on the system (when I remove those lines) But a user could point the CUDA_TOOLKIT_ROOT_DIR to a different, non default, cuda on their system (say they want to test CUDA 9.0) and kwiver should automatically use the same CUDA, since CUDA_TOOLKIT_ROOT_DIR is pointing to 9.0 in the fletchConfig.cmake

I think that make sense?

On Wed, Oct 4, 2017 at 9:42 AM, David Stoup [email protected] wrote:

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/Kitware/fletch/issues/233#issuecomment-334159130 , or mute the thread <https://github.com/notifications/unsubscribe- auth/AadLH9ZUun2fFoez6MWpSYvd-ASET_Pvks5so4thgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334161372, or mute the thread <https://github.com/notifications/unsubscribe-auth/ AFRAWmSVPH9oGRwSulIklSGIvFCdKkgCks5so40JgaJpZM4PtC1t> .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive https://maps.google.com/?q=28+Corporate+Drive&entry=gmail&source=g <https://maps.google.com/?q=28+Corporate+Drive+%0D+ Clifton+Park,+NY.+12065&entry=gmail&source=g> Clifton Park, NY. 12065 518-881-4949 <(518)%20881-4949> <(518)%20881-4949> (W) 518-312-3946 <(518)%20312-3946> <(518)%20312-3946> (M) 518-371-4573 <(518)%20371-4573> <(518)%20371-4573> (F)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334163869, or mute the thread <https://github.com/notifications/unsubscribe-auth/ AadLHyF09aVJE58VBp2W2Ng4TjrL7aU7ks5so47ZgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334164148, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRAWi6YVwBkB1_BAJUVDoctiJWnr6lEks5so48MgaJpZM4PtC1t .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive Clifton Park, NY. 12065 518-881-4949 (W) 518-312-3946 (M) 518-371-4573 (F)

dstoup avatar Oct 04 '17 14:10 dstoup

Ok, I will grab CUDA 9.0 and see how different versions work together, and make sure kwiver see's what I fletch is using

On Wed, Oct 4, 2017 at 10:00 AM, David Stoup [email protected] wrote:

Double check to make sure they are set correctly when you change tookits, but I suspect the Find module will do the right thing.

On Wed, Oct 4, 2017 at 9:58 AM, aaron-bray [email protected] wrote:

Ok, I will add those

On Wed, Oct 4, 2017 at 9:57 AM, David Stoup [email protected]

wrote:

The FindCUDA module defines the following...

CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.

CUDA_VERSION_MINOR -- The minor version.

CUDA_VERSION

CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR

We should probably write those out to the fletchConfig.cmake.

On Wed, Oct 4, 2017 at 9:50 AM, aaron-bray [email protected] wrote:

I agree I am looking at taking it out.

The next issue is going to be how to tell fletch users what cuda was used by fletch I also used the CUDA_TOOLKIT_ROOT_DIR variable in the fletchConfig I think that is still ok, as FindCuda.cmake will use that variable in kwiver if kwiver does a find_package(Cuda) Since we want kwiver and fletch to use the same CUDA

Fletch should automatically find the default CUDA on the system (when I remove those lines) But a user could point the CUDA_TOOLKIT_ROOT_DIR to a different, non default, cuda on their system (say they want to test CUDA 9.0) and kwiver should automatically use the same CUDA, since CUDA_TOOLKIT_ROOT_DIR is pointing to 9.0 in the fletchConfig.cmake

I think that make sense?

On Wed, Oct 4, 2017 at 9:42 AM, David Stoup < [email protected]> wrote:

The problem appears to be setting CUDA_TOOLKIT_ROOT_DIR to "" in CACHE. Is there a good reason to set that at all? I think the FindCUDA will take care of that for us.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <https://github.com/Kitware/fletch/issues/233# issuecomment-334159130 , or mute the thread <https://github.com/notifications/unsubscribe- auth/AadLH9ZUun2fFoez6MWpSYvd-ASET_Pvks5so4thgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/Kitware/fletch/issues/233#issuecomment-334161372 , or mute the thread <https://github.com/notifications/unsubscribe-auth/ AFRAWmSVPH9oGRwSulIklSGIvFCdKkgCks5so40JgaJpZM4PtC1t> .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive https://maps.google.com/?q=28+Corporate+Drive&entry=gmail&source=g https://maps.google.com/?q=28+Corporate+Drive&entry=gmail&source=g <https://maps.google.com/?q=28+Corporate+Drive+%0D+ Clifton+Park,+NY.+12065&entry=gmail&source=g> Clifton Park, NY. 12065 518-881-4949 <(518)%20881-4949> <(518)%20881-4949> <(518)%20881-4949> (W) 518-312-3946 <(518)%20312-3946> <(518)%20312-3946> <(518)%20312-3946> (M) 518-371-4573 <(518)%20371-4573> <(518)%20371-4573> <(518)%20371-4573> (F)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334163869, or mute the thread <https://github.com/notifications/unsubscribe-auth/ AadLHyF09aVJE58VBp2W2Ng4TjrL7aU7ks5so47ZgaJpZM4PtC1t> .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334164148, or mute the thread <https://github.com/notifications/unsubscribe-auth/AFRAWi6YVwBkB1_ BAJUVDoctiJWnr6lEks5so48MgaJpZM4PtC1t> .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive https://maps.google.com/?q=28+Corporate+Drive+%0D+Clifton+Park,+NY.+12065&entry=gmail&source=g Clifton Park, NY. 12065 518-881-4949 <(518)%20881-4949> (W) 518-312-3946 <(518)%20312-3946> (M) 518-371-4573 <(518)%20371-4573> (F)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334164819, or mute the thread https://github.com/notifications/unsubscribe-auth/AadLH3SLC2xJkrXp2nw7S4PravCqYx73ks5so4-KgaJpZM4PtC1t .

aaron-bray avatar Oct 04 '17 14:10 aaron-bray

Do you think we should explicitly set version like this? set(CUDA_VERSION_MAJOR ${CUDA_VERSION_MAJOR}) I think its handy to know what cuda version was used by fletch, but client programs are still going to have to do a find_package(CUDA), which should find the cuda fletch used and set those variables

if we do have CUDA_VERSION_MAJOR in the fletchConfig, would the find_package successfully overwrite (with the same value hopefully) those variable?

I am just making sure there is no unexpected collision with pre defined variables, the FindCUDA should just re set those variable with out issue, right?

aaron-bray avatar Oct 04 '17 14:10 aaron-bray

I think we would want to write our fletch_CUDA_VERSION_MAJOR ... etc. Then a consumer could do something like

find_package(CUDA VERSION ${fletch_CUDA_VERSION_MAJOR}) or something similar.

On Wed, Oct 4, 2017 at 10:06 AM, aaron-bray [email protected] wrote:

Do you think we should explicitly set version like this? set(CUDA_VERSION_MAJOR ${CUDA_VERSION_MAJOR}) I think its handy to know what cuda version was used by fletch, but client programs are still going to have to do a find_package(CUDA), which should find the cuda fletch used and set those variables

if we doe have CUDA_VERSION_MAJOR in the fletchConfig, would the find_package successfully overwrite (with the same value hopefully) those variable?

I am just making sure there is no unexpected collision with pre defined variables, the FindCUDA should just re set those variable with out issue, right?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334166784, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRAWkzvio8q5O6cGhS40C9VZxqWGjigks5so5D_gaJpZM4PtC1t .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive Clifton Park, NY. 12065 518-881-4949 (W) 518-312-3946 (M) 518-371-4573 (F)

dstoup avatar Oct 04 '17 14:10 dstoup

I like the fletch_ prefix Are you ok with having the CUDA_TOOLKIT_ROOT_DIR in the fletch config (As named)

that allows users to do a find_package(CUDA) no version and still get the same version. I think it would be good to do this as users may not know they have to and how to sync fletch and client versions

find_package(CUDA VERSION ${fletch_CUDA_VERSION_MAJOR}) would still work as intended, but so would find_package(CUDA) which is probably what clients will do

(I have no idea what would happen if fletch used 9.0 and kwiver uses 8.0)

aaron-bray avatar Oct 04 '17 14:10 aaron-bray

That sounds reasonable to me.

On Wed, Oct 4, 2017 at 10:15 AM, aaron-bray [email protected] wrote:

I like the fletch_ prefix Are you ok with having the CUDA_TOOLKIT_ROOT_DIR in the fletch config (As named)

that allows users to do a find_package(CUDA) no version and still get the same version. I think it would be good to do this as users may not know they have to and how to sync fletch and client versions

find_package(CUDA VERSION ${fletch_CUDA_VERSION_MAJOR}) would still work as intended, but so would find_package(CUDA) which is probably what clients will do

(I have no idea what would happen if fletch used 9.0 and kwiver uses 8.0)

Nor do I .. would be interesting. I think it might be ok actually but haven't really thought that comment though :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/233#issuecomment-334169537, or mute the thread https://github.com/notifications/unsubscribe-auth/AFRAWoftS34pqnEJodC8gh70u0SvjI3bks5so5L8gaJpZM4PtC1t .

-- David Stoup Staff R&D Engineer

Kitware, Inc. 28 Corporate Drive Clifton Park, NY. 12065 518-881-4949 (W) 518-312-3946 (M) 518-371-4573 (F)

dstoup avatar Oct 04 '17 14:10 dstoup