HI Jamil, If you are interested in submitting a fix I can review, but I would like to also make sure that this issue doesn't exist inside the new cmake support for CUDA as a first class language. Can you produce a minimal test case that we can rework to use the new support and add to CMake's test suite.
You will also need to track down what version of CUDA first added cublas_device so that we properly guard the inclusion. On Fri, Nov 3, 2017 at 7:39 AM, Jamil Appa <[email protected]> wrote: > Hi Robert > > I am using CUDA_ADD_CUBLAS_TO_TARGET but the error happens during the > prelink phase when using separable compilation. (nvcc -dlink phase) > > My guess is that Nvidia have not included cublas_device.a in their > dlink phase as you don't have to provide any other libraries. I have asked > the Nvidia team if that is the case, but no reply yet. > > The general fix seems to be to modify lines 1759/1772 of FindCUDA.cmake > (in gitlab master) to include CUBLAS_LIBRARIES > > COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} -dlink ${object_files} > ${CUDA_CUBLAS_LIBRARIES} -o ${output_file} > > This will have no impact if the cublas symbols are not used in the object > files. > > If you are happy with this I can submit the change for review. > > Jamil > > > On Thu, 2 Nov 2017 at 13:53 Robert Maynard <[email protected]> > wrote: > >> Hi, >> >> Have you tried using the 'CUDA_ADD_CUBLAS_TO_TARGET' command on the >> target that has FindCUDA separable compilation enabled? >> >> On Wed, Nov 1, 2017 at 11:16 AM, Jamil Appa <[email protected]> >> wrote: >> >>> Hi >>> >>> When using FindCUDA with separable compilation combined with device >>> code that uses cublas_device I get missing symbols when linking the >>> intermediate file at line 1758 >>> <https://gitlab.kitware.com/cmake/cmake/blob/release/Modules/FindCUDA.cmake#L1758> >>> FindCUDA.cmake >>> >>> If I change line 1758 to include the cublas_device library the >>> symbols are resolved correctly. >>> >>> COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags} -dlink ${object_files} >>> -o ${output_file} -lcublas_device >>> >>> Is there a way to pass through a library to the >>> CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS >>> function that I am missing? >>> >>> Thanks >>> >>> Jamil >>> >>> *Jamil Appa* | Co-Founder and Director | Zenotech >>> [image: Papercut] >>> [image: Tel:] +44 (0)7747 606 788 <+44%207747%20606788> [image: >>> Zenotech LTD - Simulation Unlimited] <http://www.zenotech.com/> >>> [image: Email:] [email protected] >>> [image: Web:] www.zenotech.com >>> [image: Papercut] >>> [image: linkedin:] <http://uk.linkedin.com/pub/jamil-appa/1/165/120>[image: >>> Twitter:] <https://twitter.com/zenotech>[image: Location:] >>> <https://www.google.co.uk/maps/place/Bristol+%26+Bath+Science+Park/@51.500921,-2.478567,17z/data=!3m1!4b1!4m2!3m1!1s0x48719ab86a5a9f7d:0xd17394f3400abb0a> >>> >>> Company Registration No : 07926926 | VAT No : 128198591 >>> >>> Registered Office : 1 Larkfield Grove, Chepstow, Monmouthshire, NP16 >>> 5UF, UK >>> <https://maps.google.com/?q=1+Larkfield+Grove,+Chepstow,+Monmouthshire,+NP16+5UF,+UK&entry=gmail&source=g> >>> >>> Address : Bristol & Bath Science Park, Dirac Cres, Emersons Green, >>> Bristol BS16 7FR >>> >>> >>> -- >>> >>> Powered by www.kitware.com >>> >>> Please keep messages on-topic and check the CMake FAQ at: >>> http://www.cmake.org/Wiki/CMake_FAQ >>> >>> Kitware offers various services to support the CMake community. For more >>> information on each offering, please visit: >>> >>> CMake Support: http://cmake.org/cmake/help/support.html >>> CMake Consulting: http://cmake.org/cmake/help/consulting.html >>> CMake Training Courses: http://cmake.org/cmake/help/training.html >>> >>> Visit other Kitware open-source projects at http://www.kitware.com/ >>> opensource/opensource.html >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/cmake >>> >> >>
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
