|
|
|
include ../Make.inc
|
|
|
|
#
|
|
|
|
# Libraries used
|
|
|
|
#
|
|
|
|
LIBDIR=../lib
|
|
|
|
INCDIR=../include
|
|
|
|
MODDIR=../modules
|
|
|
|
PSBLAS_LIB= -lpsb_util -lpsb_base
|
|
|
|
#-lpsb_util -lpsb_krylov -lpsb_prec -lpsb_base
|
|
|
|
LDLIBS=$(PSBLDLIBS)
|
|
|
|
#
|
|
|
|
# Compilers and such
|
|
|
|
#
|
|
|
|
#CCOPT= -g
|
|
|
|
FINCLUDES=$(FMFLAG). $(FMFLAG)$(INCDIR) $(FMFLAG)$(MODDIR) $(FIFLAG).
|
|
|
|
CINCLUDES=$(SPGPU_INCLUDES) $(CUDA_INCLUDES) -I$(INCDIR)
|
|
|
|
LIBNAME=libpsb_cuda.a
|
|
|
|
|
|
|
|
|
|
|
|
FOBJS=cusparse_mod.o base_cusparse_mod.o \
|
|
|
|
s_cusparse_mod.o d_cusparse_mod.o c_cusparse_mod.o z_cusparse_mod.o \
|
|
|
|
psb_vectordev_mod.o core_mod.o \
|
|
|
|
psb_s_vectordev_mod.o psb_d_vectordev_mod.o psb_i_vectordev_mod.o\
|
|
|
|
psb_c_vectordev_mod.o psb_z_vectordev_mod.o psb_base_vectordev_mod.o \
|
|
|
|
elldev_mod.o hlldev_mod.o diagdev_mod.o hdiagdev_mod.o \
|
|
|
|
psb_i_cuda_vect_mod.o \
|
|
|
|
psb_d_cuda_vect_mod.o psb_s_cuda_vect_mod.o\
|
|
|
|
psb_z_cuda_vect_mod.o psb_c_cuda_vect_mod.o\
|
|
|
|
psb_d_cuda_elg_mat_mod.o psb_d_cuda_hlg_mat_mod.o \
|
|
|
|
psb_d_cuda_hybg_mat_mod.o psb_d_cuda_csrg_mat_mod.o\
|
|
|
|
psb_s_cuda_elg_mat_mod.o psb_s_cuda_hlg_mat_mod.o \
|
|
|
|
psb_s_cuda_hybg_mat_mod.o psb_s_cuda_csrg_mat_mod.o\
|
|
|
|
psb_c_cuda_elg_mat_mod.o psb_c_cuda_hlg_mat_mod.o \
|
|
|
|
psb_c_cuda_hybg_mat_mod.o psb_c_cuda_csrg_mat_mod.o\
|
|
|
|
psb_z_cuda_elg_mat_mod.o psb_z_cuda_hlg_mat_mod.o \
|
|
|
|
psb_z_cuda_hybg_mat_mod.o psb_z_cuda_csrg_mat_mod.o\
|
|
|
|
psb_cuda_env_mod.o psb_cuda_mod.o \
|
|
|
|
psb_d_cuda_diag_mat_mod.o\
|
|
|
|
psb_d_cuda_hdiag_mat_mod.o psb_s_cuda_hdiag_mat_mod.o\
|
|
|
|
psb_s_cuda_dnsg_mat_mod.o psb_d_cuda_dnsg_mat_mod.o \
|
|
|
|
psb_c_cuda_dnsg_mat_mod.o psb_z_cuda_dnsg_mat_mod.o \
|
|
|
|
dnsdev_mod.o
|
|
|
|
|
|
|
|
COBJS= elldev.o hlldev.o diagdev.o hdiagdev.o vectordev.o ivectordev.o dnsdev.o\
|
|
|
|
svectordev.o dvectordev.o cvectordev.o zvectordev.o cuda_util.o \
|
|
|
|
fcusparse.o scusparse.o dcusparse.o ccusparse.o zcusparse.o
|
|
|
|
|
|
|
|
OBJS=$(COBJS) $(FOBJS)
|
|
|
|
|
|
|
|
lib: objs ilib cudalib spgpulib
|
|
|
|
ar cur $(LIBNAME) $(OBJS)
|
|
|
|
/bin/cp -p $(LIBNAME) $(LIBDIR)
|
|
|
|
|
|
|
|
|
|
|
|
objs: spgpuinc $(OBJS) iobjs cudaobjs spgpuobjs
|
|
|
|
/bin/cp -p *$(.mod) $(MODDIR)
|
|
|
|
/bin/cp -p *.h $(INCDIR)
|
|
|
|
|
|
|
|
spgpuinc:
|
|
|
|
$(MAKE) -C spgpu includes
|
|
|
|
spgpuobjs:
|
|
|
|
$(MAKE) -C spgpu objs
|
|
|
|
spgpulib:
|
|
|
|
$(MAKE) -C spgpu lib
|
|
|
|
|
|
|
|
|
|
|
|
hdiagdev_mod.o diagdev_mod.o dnsdev_mod.o hlldev_mod.o elldev_mod.o psb_base_vectordev_mod.o: core_mod.o
|
|
|
|
psb_d_cuda_vect_mod.o psb_s_cuda_vect_mod.o psb_z_cuda_vect_mod.o psb_c_cuda_vect_mod.o: psb_i_cuda_vect_mod.o
|
|
|
|
psb_i_cuda_vect_mod.o : psb_vectordev_mod.o psb_cuda_env_mod.o
|
|
|
|
cusparse_mod.o: s_cusparse_mod.o d_cusparse_mod.o c_cusparse_mod.o z_cusparse_mod.o
|
|
|
|
s_cusparse_mod.o d_cusparse_mod.o c_cusparse_mod.o z_cusparse_mod.o : base_cusparse_mod.o
|
|
|
|
psb_d_cuda_hlg_mat_mod.o: hlldev_mod.o psb_d_cuda_vect_mod.o psb_cuda_env_mod.o
|
|
|
|
psb_d_cuda_elg_mat_mod.o: elldev_mod.o psb_d_cuda_vect_mod.o
|
|
|
|
psb_d_cuda_diag_mat_mod.o: diagdev_mod.o psb_d_cuda_vect_mod.o
|
|
|
|
psb_d_cuda_hdiag_mat_mod.o: hdiagdev_mod.o psb_d_cuda_vect_mod.o
|
|
|
|
psb_s_cuda_dnsg_mat_mod.o: dnsdev_mod.o psb_s_cuda_vect_mod.o
|
|
|
|
psb_d_cuda_dnsg_mat_mod.o: dnsdev_mod.o psb_d_cuda_vect_mod.o
|
|
|
|
psb_c_cuda_dnsg_mat_mod.o: dnsdev_mod.o psb_c_cuda_vect_mod.o
|
|
|
|
psb_z_cuda_dnsg_mat_mod.o: dnsdev_mod.o psb_z_cuda_vect_mod.o
|
|
|
|
psb_s_cuda_hlg_mat_mod.o: hlldev_mod.o psb_s_cuda_vect_mod.o psb_cuda_env_mod.o
|
|
|
|
psb_s_cuda_elg_mat_mod.o: elldev_mod.o psb_s_cuda_vect_mod.o
|
|
|
|
psb_s_cuda_diag_mat_mod.o: diagdev_mod.o psb_s_cuda_vect_mod.o
|
|
|
|
psb_s_cuda_hdiag_mat_mod.o: hdiagdev_mod.o psb_s_cuda_vect_mod.o
|
|
|
|
psb_s_cuda_csrg_mat_mod.o psb_s_cuda_hybg_mat_mod.o: cusparse_mod.o psb_vectordev_mod.o
|
|
|
|
psb_d_cuda_csrg_mat_mod.o psb_d_cuda_hybg_mat_mod.o: cusparse_mod.o psb_vectordev_mod.o
|
|
|
|
psb_z_cuda_hlg_mat_mod.o: hlldev_mod.o psb_z_cuda_vect_mod.o psb_cuda_env_mod.o
|
|
|
|
psb_z_cuda_elg_mat_mod.o: elldev_mod.o psb_z_cuda_vect_mod.o
|
|
|
|
psb_c_cuda_hlg_mat_mod.o: hlldev_mod.o psb_c_cuda_vect_mod.o psb_cuda_env_mod.o
|
|
|
|
psb_c_cuda_elg_mat_mod.o: elldev_mod.o psb_c_cuda_vect_mod.o
|
|
|
|
psb_c_cuda_csrg_mat_mod.o psb_c_cuda_hybg_mat_mod.o: cusparse_mod.o psb_vectordev_mod.o
|
|
|
|
psb_z_cuda_csrg_mat_mod.o psb_z_cuda_hybg_mat_mod.o: cusparse_mod.o psb_vectordev_mod.o
|
|
|
|
psb_vectordev_mod.o: psb_s_vectordev_mod.o psb_d_vectordev_mod.o psb_c_vectordev_mod.o psb_z_vectordev_mod.o psb_i_vectordev_mod.o
|
|
|
|
psb_i_vectordev_mod.o psb_s_vectordev_mod.o psb_d_vectordev_mod.o psb_c_vectordev_mod.o psb_z_vectordev_mod.o: psb_base_vectordev_mod.o
|
|
|
|
vectordev.o: cuda_util.o vectordev.h
|
|
|
|
elldev.o: elldev.c
|
|
|
|
dnsdev.o: dnsdev.c
|
|
|
|
fcusparse.h elldev.c: elldev.h vectordev.h
|
|
|
|
fcusparse.o scusparse.o dcusparse.o ccusparse.o zcusparse.o : fcusparse.h
|
|
|
|
fcusparse.o scusparse.o dcusparse.o ccusparse.o zcusparse.o : fcusparse_fct.h
|
|
|
|
svectordev.o: svectordev.h vectordev.h
|
|
|
|
dvectordev.o: dvectordev.h vectordev.h
|
|
|
|
cvectordev.o: cvectordev.h vectordev.h
|
|
|
|
zvectordev.o: zvectordev.h vectordev.h
|
|
|
|
psb_cuda_env_mod.o: base_cusparse_mod.o
|
|
|
|
psb_cuda_mod.o: psb_cuda_env_mod.o psb_i_cuda_vect_mod.o\
|
|
|
|
psb_d_cuda_vect_mod.o psb_s_cuda_vect_mod.o\
|
|
|
|
psb_z_cuda_vect_mod.o psb_c_cuda_vect_mod.o\
|
|
|
|
psb_d_cuda_elg_mat_mod.o psb_d_cuda_hlg_mat_mod.o \
|
|
|
|
psb_d_cuda_hybg_mat_mod.o psb_d_cuda_csrg_mat_mod.o\
|
|
|
|
psb_s_cuda_elg_mat_mod.o psb_s_cuda_hlg_mat_mod.o \
|
|
|
|
psb_s_cuda_hybg_mat_mod.o psb_s_cuda_csrg_mat_mod.o\
|
|
|
|
psb_c_cuda_elg_mat_mod.o psb_c_cuda_hlg_mat_mod.o \
|
|
|
|
psb_c_cuda_hybg_mat_mod.o psb_c_cuda_csrg_mat_mod.o\
|
|
|
|
psb_z_cuda_elg_mat_mod.o psb_z_cuda_hlg_mat_mod.o \
|
|
|
|
psb_z_cuda_hybg_mat_mod.o psb_z_cuda_csrg_mat_mod.o\
|
|
|
|
psb_d_cuda_diag_mat_mod.o \
|
|
|
|
psb_d_cuda_hdiag_mat_mod.o psb_s_cuda_hdiag_mat_mod.o\
|
|
|
|
psb_s_cuda_dnsg_mat_mod.o psb_d_cuda_dnsg_mat_mod.o \
|
|
|
|
psb_c_cuda_dnsg_mat_mod.o psb_z_cuda_dnsg_mat_mod.o
|
|
|
|
|
|
|
|
iobjs: $(FOBJS)
|
|
|
|
$(MAKE) -C impl objs
|
|
|
|
cudaobjs: $(FOBJS)
|
|
|
|
$(MAKE) -C CUDA objs
|
|
|
|
|
|
|
|
ilib: objs
|
|
|
|
$(MAKE) -C impl lib LIBNAME=$(LIBNAME)
|
|
|
|
cudalib: objs ilib
|
|
|
|
$(MAKE) -C CUDA lib LIBNAME=$(LIBNAME)
|
|
|
|
|
|
|
|
clean: cclean iclean cudaclean spgpuclean
|
|
|
|
/bin/rm -f $(FOBJS) *$(.mod) *.a
|
|
|
|
|
|
|
|
cclean:
|
|
|
|
/bin/rm -f $(COBJS)
|
|
|
|
iclean:
|
|
|
|
$(MAKE) -C impl clean
|
|
|
|
cudaclean:
|
|
|
|
$(MAKE) -C CUDA clean
|
|
|
|
spgpuclean:
|
|
|
|
$(MAKE) -C spgpu clean
|
|
|
|
|
|
|
|
veryclean: clean
|