[CMake] [FindCUDA] CUDA_COMPILE_PTX
Denis Taniguchi
taniguchi at tpn.usp.br
Thu Feb 18 16:22:18 EST 2010
James,
Thanks a lot. Your diagnosis was absolutely right.
#####################################################################
# habilitar o módulo FindBoost
find_package (Boost 1.42.0 COMPONENTS thread)
# habilitar o módulo FindCUDA
find_package (CUDA)
file (GLOB_RECURSE sources *.cpp)
file (GLOB_RECURSE cufiles *.cu)
cuda_compile_ptx (ptxfiles ${cufiles})
cuda_add_executable (cuda_core_test ${sources} ${ptxfiles})
# para poder usar variadic template parameters
set_target_properties (cuda_core_test PROPERTIES COMPILE_FLAGS -std=c
++0x)
# gcc version < 4.4 não possuem o header initilizer_list
add_definitions (-DBOOST_NO_0X_HDR_INITIALIZER_LIST)
include_directories (${CUDA_TOOLKIT_INCLUDE})
target_link_libraries (cuda_core_test ${CUDA_CUDA_LIBRARY}
${Boost_LIBRARIES})
On Wed, 2010-02-17 at 16:16 -0700, James Bigler wrote:
> You need to add ${ptxfiles} to your add_executable command, so that it
> contains both the source and generated files.
>
> For makefile targets you need to establish a dependency between the
> target (cuda_core_test) and your ptx files. This is done by putting
> the generated files into the target. For VS it is backward, and you
> generally only need to add the source files to the project (provided
> there is a MAIN_DEPENDENCY set on the file - which it is for FindCUDA
> by default).
>
> James
>
> On Wed, Feb 17, 2010 at 12:37 PM, Denis Taniguchi
> <taniguchi at tpn.usp.br> wrote:
> Hi all,
>
> I was trying to use CUDA_COMPILE_PTX to make nvcc compile *.cu
> files
> to .ptx files but with no success.
> Running make just compile my regular .cpp files and does
> nothing to .cu
> files. I want the ptx files to use them with CUDA driver API.
> I checked in the trunk SVN repository of FindCUDA but the line
> for
> CUDA_COMPILE_PTX was commented out in the example.
> Regards,
>
> Denis
>
> #####################################################################
>
> # habilitar o módulo FindBoost
> find_package (Boost 1.42.0 COMPONENTS thread)
> # habilitar o módulo FindCUDA
> find_package (CUDA)
>
> file (GLOB_RECURSE sources *.cpp)
> file (GLOB_RECURSE cufiles *.cu)
> cuda_compile_ptx (ptxfiles cufiles)
> add_executable (cuda_core_test ${sources})
>
> # para poder usar variadic template parameters
> set_target_properties (cuda_core_test PROPERTIES COMPILE_FLAGS
> -std=c
> ++0x)
> # gcc version < 4.4 não possuem o header initilizer_list
> add_definitions (-DBOOST_NO_0X_HDR_INITIALIZER_LIST)
>
> include_directories (${CUDA_TOOLKIT_INCLUDE})
> target_link_libraries (cuda_core_test ${CUDA_CUDA_LIBRARY}
> ${Boost_LIBRARIES})
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list