> 1. Support for dependency scanning.  If I change a header included by file.cu 
> I want file.cu to be recompiled.  This is easy for makefiles, hard for 
> anything else.

.cu is superset of C++ so it should be pretty easy to get dependency scanning 
working same as for regular .cpp/.h files using CMake facilities.

> 2. In the past there have been bugs with nvcc, such as leaving a partially 
> written output file during generation that failed, that FindCUDA has worked 
> around.

I don't see why we should care about that? If they still exist isn't it what 
NVIDIA partner bug report site is for?

> 3. Host flags generally need to be propagated to the CUDA flags (I'll admit 
> that this support in FindCUDA isn't perfect).

You mean user-defined preprocessor definitions or compiler flags? Host compiler 
flags are picked up by nvcc from host compiler itself. Aside of that, CMake 
will insert -D definitions as well to any extra compiler.

So you may only want to wrap CMAKE_CXX_FLAGS into CMAKE_CUDACXX_FLAGS using 
-Xcompiler which can be tricky, but I believe we can workaround that somehow.

> 4. How do you support other targets besides cubin (obj), such as PTX?

For what purpose? Debugging?

> 5. How would separable compilation work?  Especially since you can't easily 
> replace the linker.

Correct me if I am wrong, but we will still use platform linker.

> 6. If you support PTX, can you use the output as input for other custom 
> commands (I like to encode the PTX into strings compiled into C++ files using 
> bin2c from CUDA).

Again can you please elaborate more why would you like to handle PTX yourself 
if CUDA does it for you, i.e.:

nvcc -arch sm_30 -> makes .o contain native device code
nvcc -arch compute_30 -> makes .o contain ptx code compiled later by the driver 
itself

This sounds like some custom behavior.

--Adam
-- 

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-developers

Reply via email to