Since nvcc can’t inline device functions, I’ve taken to #including .cu files in other .cu files. This led me to try to get rebuilding in make working with auto-dependencies via the -M flag. (Also, nvcc is slow to begin with.) How are you implementing automatic dependency generation with make and nvcc?
nvcc can’t inline device functions that are in separate compilation units
Nsight eclipse edition uses auto dependency generation with -M
You could study how it works.
Yes, forgot to say that.
I got it to work by following https://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html
Namely, what works for me is
$(OBJ)/%.d: $(SRC)/%.cu @ set -e; rm -f $@; \ $(NVCC) -M $(NVCCFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$
and including the .d files as a prerequisite for the corresponding .o. (OBJ) is the object directory and (SRC) the source directory.