I have a toy application code built on PETSc which needs to compile and link a
.cu file.
I'd love to be able to configure PETSc (with CUDA), and then use a modified
version of share/petsc/Makefile.user to compile and link my code, using a
consistent set of compilers, libraries, and flags. Makefile.user uses petsc.pc
(via pkg-config) and implicit GNU make rules to do almost everything for you
for C, C++, and Fortran.
However, I don't think it currently supports CUDA, and I'm not familiar enough
with BuildSystem or pkg-config to quickly add support myself, so I resort to
the "old" way, including things like this in my Makefile:
include ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables
%.o : %.cu
$(CUDAC) -c $(CUDAC_FLAGS) $(CUDA_INCLUDE) -o $@ $<
app : ${OBJ}
$(LINK.cc) -o $@ $^ $(LDLIBS) $(CUDA_LIB)
Is it possible / easy / advisable to add CUDA support to petsc.pc ?