|
@@ -1,11 +1,9 @@
|
|
|
# StarPU --- Runtime system for heterogeneous multicore architectures.
|
|
|
#
|
|
|
-# Copyright (C) 2011-2017 Inria
|
|
|
-# Copyright (C) 2009-2019 Université de Bordeaux
|
|
|
-# Copyright (C) 2017 Erwan Leria
|
|
|
-# Copyright (C) 2010-2015,2017,2018,2019 CNRS
|
|
|
-# Copyright (C) 2011 Télécom-SudParis
|
|
|
-# Copyright (C) 2016 Uppsala University
|
|
|
+# Copyright (C) 2009-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
|
|
|
+# Copyright (C) 2011 Télécom-SudParis
|
|
|
+# Copyright (C) 2016 Uppsala University
|
|
|
+# Copyright (C) 2017 Erwan Leria
|
|
|
#
|
|
|
# StarPU is free software; you can redistribute it and/or modify
|
|
|
# it under the terms of the GNU Lesser General Public License as published by
|
|
@@ -48,6 +46,7 @@ EXTRA_DIST = \
|
|
|
spmv/spmv_opencl.cl \
|
|
|
spmv/matrix_market/examples/fidapm05.mtx \
|
|
|
mult/xgemm.c \
|
|
|
+ mult/sgemm.sh \
|
|
|
lu/xlu.c \
|
|
|
lu/xlu_pivot.c \
|
|
|
lu/xlu_implicit.c \
|
|
@@ -76,7 +75,7 @@ EXTRA_DIST = \
|
|
|
lu/lu.sh
|
|
|
|
|
|
|
|
|
-CLEANFILES = *.gcno *.gcda *.linkinfo *.mod starpu_idle_microsec.log *.mps *.dot *.pl
|
|
|
+CLEANFILES = *.gcno *.gcda *.linkinfo *.mod starpu_idle_microsec.log *.mps *.dot *.pl *.png *.output tasks.rec perfs.rec perfs2.rec
|
|
|
|
|
|
if STARPU_USE_CUDA
|
|
|
|
|
@@ -152,6 +151,9 @@ TESTS = $(STARPU_EXAMPLES)
|
|
|
if !STARPU_USE_MPI_MASTER_SLAVE
|
|
|
TESTS += scheduler/schedulers.sh
|
|
|
TESTS += scheduler/schedulers_context.sh
|
|
|
+if !NO_BLAS_LIB
|
|
|
+TESTS += mult/sgemm.sh
|
|
|
+endif
|
|
|
endif
|
|
|
|
|
|
if STARPU_HAVE_WINDOWS
|
|
@@ -333,7 +335,7 @@ STARPU_EXAMPLES += \
|
|
|
lu/lu_implicit_example_complex_double
|
|
|
endif
|
|
|
|
|
|
-if ATLAS_BLAS_LIB
|
|
|
+if STARPU_HAVE_CBLAS_H
|
|
|
STARPU_EXAMPLES += \
|
|
|
spmv/dw_block_spmv
|
|
|
endif
|
|
@@ -428,12 +430,47 @@ endif
|
|
|
if STARPU_HAVE_FC
|
|
|
fortran90_f90_example_SOURCES = \
|
|
|
fortran90/mod_types.f90 \
|
|
|
- $(top_srcdir)/include/starpu_mod.f90 \
|
|
|
+ fortran90/starpu_mod.f90 \
|
|
|
fortran90/mod_interface.f90 \
|
|
|
fortran90/mod_compute.f90 \
|
|
|
fortran90/marshalling.c \
|
|
|
fortran90/f90_example.f90
|
|
|
|
|
|
+native_fortran_nf_vector_SOURCES = \
|
|
|
+ native_fortran/nf_codelets.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_vector.f90
|
|
|
+
|
|
|
+native_fortran_nf_matrix_SOURCES = \
|
|
|
+ native_fortran/nf_codelets.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_matrix.f90
|
|
|
+
|
|
|
+native_fortran_nf_example_SOURCES = \
|
|
|
+ native_fortran/nf_types.f90 \
|
|
|
+ native_fortran/nf_compute.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_example.f90
|
|
|
+
|
|
|
+native_fortran_nf_dynbuf_SOURCES = \
|
|
|
+ native_fortran/nf_dynbuf_cl.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_dynbuf.f90
|
|
|
+
|
|
|
+native_fortran_nf_varbuf_SOURCES = \
|
|
|
+ native_fortran/nf_varbuf_cl.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_varbuf.f90
|
|
|
+
|
|
|
+native_fortran_nf_sched_ctx_SOURCES = \
|
|
|
+ native_fortran/nf_sched_ctx_cl.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_sched_ctx.f90
|
|
|
+
|
|
|
+native_fortran_nf_partition_SOURCES = \
|
|
|
+ native_fortran/nf_partition_cl.f90 \
|
|
|
+ native_fortran/fstarpu_mod.f90 \
|
|
|
+ native_fortran/nf_partition.f90
|
|
|
endif
|
|
|
|
|
|
#######################
|
|
@@ -840,7 +877,6 @@ spmv_spmv_SOURCES += \
|
|
|
spmv/spmv_cuda.cu
|
|
|
endif
|
|
|
|
|
|
-if ATLAS_BLAS_LIB
|
|
|
spmv_dw_block_spmv_SOURCES = \
|
|
|
spmv/dw_block_spmv.c \
|
|
|
spmv/dw_block_spmv_kernels.c \
|
|
@@ -849,7 +885,6 @@ spmv_dw_block_spmv_SOURCES = \
|
|
|
|
|
|
spmv_dw_block_spmv_LDADD = \
|
|
|
$(STARPU_BLAS_LDFLAGS)
|
|
|
-endif
|
|
|
|
|
|
###########################
|
|
|
# C++ Incrementer example #
|
|
@@ -1049,23 +1084,53 @@ sched_ctx_parallel_tasks_reuse_handle_CFLAGS = \
|
|
|
|
|
|
endif
|
|
|
|
|
|
+# - link over source file to build our own object
|
|
|
+fortran90/starpu_mod.f90:
|
|
|
+ @$(MKDIR_P) $(dir $@)
|
|
|
+ $(LN_S) $(srcdir)/../../include/$(notdir $@) $@
|
|
|
+native_fortran/fstarpu_mod.f90:
|
|
|
+ @$(MKDIR_P) $(dir $@)
|
|
|
+ $(LN_S) $(srcdir)/../../include/$(notdir $@) $@
|
|
|
+
|
|
|
if STARPU_HAVE_FC
|
|
|
# Fortran90 example
|
|
|
-# - list explicit dependences to control proper module files generation
|
|
|
-# - the overriding rule fully disables the corresponing default rule, thus
|
|
|
-# the default rule body must be copied entirely
|
|
|
-mod_types.mod: mod_types.o
|
|
|
-mod_compute.mod: mod_compute.o
|
|
|
-mod_interface.mod: mod_interface.o
|
|
|
-starpu_mod.mod: starpu_mod.o
|
|
|
-
|
|
|
-starpu_mod.o: $(top_srcdir)/include/starpu_mod.f90
|
|
|
- $(AM_V_FC)$(FC) $(fortran90_f90_example_FCFLAGS) $(FCFLAGS) -c -o $@ '$(top_srcdir)/'include/starpu_mod.f90
|
|
|
-
|
|
|
-mod_compute.o: $(top_srcdir)/examples/fortran90/mod_compute.f90 mod_types.mod mod_interface.mod starpu_mod.mod
|
|
|
- $(AM_V_FC)$(FC) $(fortran90_f90_example_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'fortran90/mod_compute.f90' || echo '$(srcdir)/'`fortran90/mod_compute.f90
|
|
|
-
|
|
|
-f90_example.o: $(top_srcdir)/examples/fortran90/f90_example.f90 $(top_srcdir)/examples/fortran90/marshalling.c mod_types.mod mod_interface.mod mod_compute.mod starpu_mod.mod
|
|
|
- $(AM_V_FC)$(FC) $(fortran90_f90_example_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'fortran90/f90_example.f90' || echo '$(srcdir)/'`fortran90/f90_example.f90
|
|
|
+
|
|
|
+# - express the creation of .mod along .o
|
|
|
+starpu_mod.mod: fortran90/starpu_mod.o
|
|
|
+mod_types.mod: fortran90/mod_types.o
|
|
|
+mod_compute.mod: fortran90/mod_compute.o
|
|
|
+mod_interface.mod: fortran90/mod_interface.o
|
|
|
+
|
|
|
+# - list explicit dependences to control proper module files dependencies
|
|
|
+fortran90/mod_compute.o: mod_types.mod mod_interface.mod starpu_mod.mod
|
|
|
+fortran90/f90_example.o: mod_types.mod mod_interface.mod mod_compute.mod starpu_mod.mod
|
|
|
+
|
|
|
+
|
|
|
+# Native Fortran example
|
|
|
+
|
|
|
+# - express the creation of .mod along .o
|
|
|
+fstarpu_mod.mod: native_fortran/fstarpu_mod.o
|
|
|
+nf_codelets.mod: native_fortran/nf_codelets.o
|
|
|
+nf_compute.mod: native_fortran/nf_compute.o
|
|
|
+nf_dynbuf_cl.mod: native_fortran/nf_dynbuf_cl.o
|
|
|
+nf_partition_cl.mod: native_fortran/nf_partition_cl.o
|
|
|
+nf_sched_ctx_cl.mod: native_fortran/nf_sched_ctx_cl.o
|
|
|
+nf_types.mod: native_fortran/nf_types.o
|
|
|
+nf_varbuf_cl.mod: native_fortran/nf_varbuf_cl.o
|
|
|
+
|
|
|
+# - list explicit dependences to control proper module files dependencies
|
|
|
+native_fortran/nf_codelets.o: fstarpu_mod.mod
|
|
|
+native_fortran/nf_compute.o: nf_types.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_dynbuf_cl.o: fstarpu_mod.mod
|
|
|
+native_fortran/nf_dynbuf.o: nf_dynbuf_cl.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_example.o: nf_types.mod nf_compute.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_matrix.o: nf_codelets.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_partition_cl.o: fstarpu_mod.mod
|
|
|
+native_fortran/nf_partition.o: nf_partition_cl.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_sched_ctx_cl.o: fstarpu_mod.mod
|
|
|
+native_fortran/nf_sched_ctx.o: nf_sched_ctx_cl.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_varbuf_cl.o: fstarpu_mod.mod
|
|
|
+native_fortran/nf_varbuf.o: nf_varbuf_cl.mod fstarpu_mod.mod
|
|
|
+native_fortran/nf_vector.o: nf_codelets.mod fstarpu_mod.mod
|
|
|
|
|
|
endif
|