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 ?

Reply via email to