| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156 | # StarPU --- Runtime system for heterogeneous multicore architectures.## Copyright (C) 2009-2017  Université de Bordeaux# Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2017  CNRS# Copyright (C) 2011  Télécom-SudParis# Copyright (C) 2011-2012  Inria# Copyright (C) 2015-2016  Inria# Copyright (C) 2016  Uppsala University## 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# the Free Software Foundation; either version 2.1 of the License, or (at# your option) any later version.## StarPU is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.## See the GNU Lesser General Public License in COPYING.LGPL for more details.include $(top_srcdir)/starpu.mkif STARPU_SIMGRIDSTARPU_PERF_MODEL_DIR=$(abs_top_srcdir)/tools/perfmodels/samplingSTARPU_HOSTNAME=mirageMALLOC_PERTURB_=0export STARPU_PERF_MODEL_DIRexport STARPU_HOSTNAMEexport MALLOC_PERTURB_endifAM_CFLAGS = $(MAGMA_CFLAGS) $(HWLOC_CFLAGS) -Wall $(STARPU_CUDA_CPPFLAGS) $(STARPU_OPENCL_CPPFLAGS) $(GLOBAL_AM_CFLAGS) -Wno-unusedAM_CXXFLAGS = $(MAGMA_CFLAGS) $(HWLOC_CFLAGS) -Wall $(STARPU_CUDA_CPPFLAGS) $(STARPU_OPENCL_CPPFLAGS) $(GLOBAL_AM_CXXFLAGS) -Wno-unusedLIBS = $(top_builddir)/src/@LIBSTARPU_LINK@ $(MAGMA_LIBS) $(HWLOC_LIBS) @LIBS@ $(FXT_LIBS)AM_CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/examples/ -I$(top_builddir)/includeAM_LDFLAGS = @STARPU_EXPORT_DYNAMIC@ $(STARPU_OPENCL_LDFLAGS) $(STARPU_CUDA_LDFLAGS) $(STARPU_COI_LDFLAGS) $(STARPU_SCIF_LDFLAGS)SUBDIRS = stencilBUILT_SOURCES =if STARPU_USE_OPENCLnobase_STARPU_OPENCL_DATA_DATA =endifEXTRA_DIST = 					\	README.txt				\	axpy/axpy.h				\	axpy/axpy_opencl_kernel.cl		\	basic_examples/vector_scal_opencl_kernel.cl \	basic_examples/multiformat_types.h  \	basic_examples/multiformat_opencl_kernel.cl  \	basic_examples/multiformat_conversion_codelets_opencl_kernel.cl \	common/blas_model.c			\	spmd/vector_scal_spmd.c			\	spmv/spmv_cuda.cu			\	spmv/spmv_opencl.cl			\	spmv/matrix_market/examples/fidapm05.mtx \	mult/xgemm.c				\	lu/xlu.c				\	lu/xlu_pivot.c				\	lu/xlu_implicit.c			\	lu/xlu_implicit_pivot.c			\	lu/xlu_kernels.c			\	lu/lu_example.c				\	incrementer/incrementer_kernels_opencl_kernel.cl 	\	basic_examples/variable_kernels_opencl_kernel.cl	\	matvecmult/matvecmult_kernel.cl				\	basic_examples/block_opencl_kernel.cl			\	filters/fblock_opencl_kernel.cl		\	filters/custom_mf/conversion_opencl.cl  \	filters/custom_mf/custom_opencl.cl \	filters/custom_mf/custom_types.h \	interface/complex_kernels.cl \	reductions/dot_product.h	\	reductions/dot_product_opencl_kernels.cl	\	scheduler/schedulers.sh				\	scheduler/schedulers_context.sh			\	fortran/Makefile				\	sched_ctx/axpy_partition_gpu.h			\	sched_ctx/axpy_partition_gpu.cu			\	heat/heat.sh					\	lu/lu.shCLEANFILES = *.gcno *.gcda *.linkinfo *.mod starpu_idle_microsec.log *.mps *.dot *.plif STARPU_USE_CUDAif STARPU_COVERITYinclude $(top_srcdir)/starpu-mynvcc.mkelseNVCCFLAGS += --compiler-options -fno-strict-aliasing  -I$(top_srcdir)/include/ -I$(top_builddir)/include/ $(HWLOC_CFLAGS).cu.o:	$(V_nvcc) $(NVCC) $< -c -o $@ $(NVCCFLAGS)endifendifif STARPU_HAVE_ICC.icc.o:	$(V_icc) $(ICC) -x c $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $< -c -o $@endifexamplebindir = $(libdir)/starpu/examples/examplebin_PROGRAMS =noinst_HEADERS = 				\	axpy/axpy.h                             \	cg/cg.h					\	heat/lu_kernels_model.h			\	heat/dw_sparse_cg.h			\	heat/heat.h				\	heat/dw_factolu.h			\	lu/xlu.h				\	lu/xlu_kernels.h			\	lu/lu-float.h				\	lu/lu-double.h				\	lu/complex_float.h			\	lu/complex_double.h			\	lu/blas_complex.h			\	cholesky/cholesky.h			\	sched_ctx_utils/sched_ctx_utils.h	\	common/blas_model.h			\	common/blas.h				\	mult/simple.h				\	mult/double.h				\	fortran/StarPU_fortran.h		\	ppm_downscaler/ppm_downscaler.h		\	ppm_downscaler/yuv_downscaler.h		\	spmv/matrix_market/mmio.h		\	spmv/matrix_market/mm_to_bcsr.h		\	spmv/spmv.h				\	spmv/dw_block_spmv.h                    \	basic_examples/multiformat_types.h      \	filters/custom_mf/custom_interface.h    \	filters/custom_mf/custom_types.h	\	interface/complex_interface.h		\	interface/complex_codelet.h		\	pi/pi.h					\	pi/SobolQRNG/sobol.h			\	pi/SobolQRNG/sobol_gold.h		\	pi/SobolQRNG/sobol_gpu.h		\	pi/SobolQRNG/sobol_primitives.h         \	reductions/dot_product.h                \	basic_examples/vector_scal_cpu_template.h \	sched_ctx/axpy_partition_gpu.h###################################### What to install and what to check ######################################examplebin_PROGRAMS 	+=	$(STARPU_EXAMPLES)TESTS			=	$(STARPU_EXAMPLES)if !STARPU_USE_MPI_MASTER_SLAVETESTS			+=	scheduler/schedulers.shTESTS			+=	scheduler/schedulers_context.shendifif STARPU_HAVE_WINDOWScheck_PROGRAMS		=	$(STARPU_EXAMPLES)elsecheck_PROGRAMS		=	$(LOADER) $(STARPU_EXAMPLES)endifif !STARPU_HAVE_WINDOWS## test loader programif !STARPU_CROSS_COMPILINGLOADER			=	loaderloader_CPPFLAGS 	=	$(AM_CFLAGS) $(AM_CPPFLAGS) -I$(top_builddir)/src/LOADER_BIN		=	$(abs_top_builddir)/examples/$(LOADER)loader_SOURCES		=	../tests/loader.celseLOADER			=LOADER_BIN		=	$(top_builddir)/examples/loader-cross.shendifif STARPU_USE_MPI_MASTER_SLAVELOADER_BIN2		= $(MPI_LAUNCHER) $(LOADER_BIN)elseLOADER_BIN2		= $(LOADER_BIN)endifif STARPU_HAVE_AM111TESTS_ENVIRONMENT	=	$(MPI_RUN_ARGS) top_builddir="$(abs_top_builddir)" top_srcdir="$(abs_top_srcdir)"LOG_COMPILER		=	$(LOADER_BIN2)elseTESTS_ENVIRONMENT	=	$(MPI_RUN_ARGS) top_builddir="$(abs_top_builddir)" top_srcdir="$(abs_top_srcdir)" $(LOADER_BIN2)endifendif# STARPU_EXAMPLES list all applications which have to be compiled and checked# Applications which should only be compiled are added directly in examplebin_PROGRAMS# see for instance mandelbrot/mandelbrotSTARPU_EXAMPLES =STARPU_EXAMPLES +=				\	sched_ctx/prio				\	worker_collections/worker_list_exampleif !STARPU_SIMGRIDSTARPU_EXAMPLES +=				\	basic_examples/hello_world		\	basic_examples/topology			\	basic_examples/vector_scal		\	basic_examples/mult			\	basic_examples/block			\	basic_examples/variable			\	basic_examples/multiformat              \	basic_examples/dynamic_handles          \	mlr/mlr					\	cpp/incrementer_cpp			\	cpp/add_vectors				\	cpp/add_vectors_interface		\	filters/fvector				\	filters/fblock				\	filters/fmatrix				\	filters/fmultiple_manual		\	filters/fmultiple_submit		\	filters/fmultiple_submit_readonly	\	tag_example/tag_example			\	tag_example/tag_example2		\	tag_example/tag_example3		\	tag_example/tag_example4		\	tag_example/tag_restartable		\	spmd/vector_scal_spmd			\	spmv/spmv				\	callback/callback			\	callback/prologue			\	incrementer/incrementer			\	binary/binary				\	interface/complex			\	matvecmult/matvecmult			\	profiling/profiling			\	scheduler/dummy_sched			\	scheduler/heteroprio_test		\	sched_ctx/sched_ctx			\	sched_ctx/two_cpu_contexts		\	sched_ctx/dummy_sched_with_ctx		\	worker_collections/worker_tree_example  \	reductions/dot_product			\	reductions/minmax_reductionendifif !STARPU_SIMGRIDSTARPU_EXAMPLES +=				\	scheduler/dummy_schedif STARPU_HAVE_CXX11STARPU_EXAMPLES +=	\	cpp/add_vectors_cpp11endifif STARPU_HAVE_F77if STARPU_HAVE_F77_HSTARPU_EXAMPLES +=				\	fortran/helloendifSTARPU_EXAMPLES +=				\	basic_examples/vector_scal_fortranendifif STARPU_HAVE_FCif !STARPU_SANITIZESTARPU_EXAMPLES +=				\	fortran90/f90_example			\	native_fortran/nf_vector		\	native_fortran/nf_matrix		\	native_fortran/nf_example		\	native_fortran/nf_dynbuf		\	native_fortran/nf_varbuf		\	native_fortran/nf_sched_ctx		\	native_fortran/nf_partitionendifendifendifif !NO_BLAS_LIBSTARPU_EXAMPLES +=				\	mult/sgemm 				\	mult/dgemm				\	cholesky/cholesky_tag			\	cholesky/cholesky_tile_tag		\	cholesky/cholesky_implicitif !STARPU_SIMGRIDSTARPU_EXAMPLES +=				\	axpy/axpy				\	cholesky/cholesky_grain_tag		\	lu/lu_example_float			\	lu/lu_example_double			\	lu/lu_implicit_example_float		\	lu/lu_implicit_example_double		\	heat/heat				\	cg/cg					\	pipeline/pipelineif !STARPU_USE_MPI_MASTER_SLAVETESTS += \	heat/heat.sh				\	lu/lu.shendifendifendifif !STARPU_SIMGRIDif MKL_BLAS_LIBSTARPU_EXAMPLES +=				\	lu/lu_example_complex_float		\	lu/lu_example_complex_double		\	lu/lu_implicit_example_complex_float	\	lu/lu_implicit_example_complex_doubleendifif ATLAS_BLAS_LIBSTARPU_EXAMPLES +=				\	spmv/dw_block_spmvendifif !STARPU_SIMGRIDif STARPU_HAVE_F77if STARPU_HAVE_F77_HSTARPU_EXAMPLES +=				\	fortran/helloendifSTARPU_EXAMPLES +=				\	basic_examples/vector_scal_fortranendifendifif STARPU_HAVE_OPENMPSTARPU_EXAMPLES +=				\	openmp/vector_scal_omp			\	sched_ctx/sched_ctx_without_sched_policy\	sched_ctx/nested_sched_ctxs		\	sched_ctx/sched_ctx_without_sched_policy_awake\	sched_ctx/parallel_tasks_reuse_handle	\	sched_ctx/parallel_codeif STARPU_HAVE_HWLOCif STARPU_HWLOC_HAVE_TOPOLOGY_DUPSTARPU_EXAMPLES +=				\	sched_ctx/parallel_tasks_with_cluster_apiendifendifendifendif !STARPU_SIMGRIDif STARPU_USE_CUDASTARPU_EXAMPLES +=				\	sched_ctx/gpu_partitionsched_ctx_gpu_partition_SOURCES =		\	sched_ctx/gpu_partition.c		\	sched_ctx/axpy_partition_gpu.cuendif################### Basic examples ###################basic_examples_vector_scal_SOURCES =		\	basic_examples/vector_scal.c		\	basic_examples/vector_scal_cpu.cif STARPU_HAVE_ICCif STARPU_CROSS_COMPILINGbasic_examples_vector_scal_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(basic_examples_vector_scal_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@elsebasic_examples_vector_scal_SOURCES +=		\	basic_examples/vector_scal_cpu_icc.iccbasic_examples_vector_scal_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(ICC) $(basic_examples_vector_scal_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@endifelsebasic_examples_vector_scal_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(basic_examples_vector_scal_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@endifif STARPU_USE_CUDAbasic_examples_vector_scal_SOURCES +=		\	basic_examples/vector_scal_cuda.cuendifif STARPU_USE_OPENCLbasic_examples_vector_scal_SOURCES +=		\	basic_examples/vector_scal_opencl.cnobase_STARPU_OPENCL_DATA_DATA += \	basic_examples/vector_scal_opencl_kernel.clendifif STARPU_HAVE_F77basic_examples_vector_scal_fortran_SOURCES =	\	basic_examples/vector_scal_fortran.F	\	basic_examples/vector_scal_c.c		\	basic_examples/vector_scal_cpu.cif STARPU_USE_CUDAbasic_examples_vector_scal_fortran_SOURCES +=	\	basic_examples/vector_scal_cuda.cubasic_examples_vector_scal_fortran_LDADD =	\	$(STARPU_CUDA_FORTRAN_LDFLAGS)endifif STARPU_HAVE_F77_Hfortran_hello_SOURCES	=		\	fortran/hello_c.c		\	fortran/hello.F			\	fortran/StarPU_fortran.hendifendifif STARPU_HAVE_FCfortran90_f90_example_SOURCES =	\	fortran90/mod_types.f90		\	$(top_srcdir)/include/starpu_mod.f90	\	fortran90/mod_interface.f90	\	fortran90/mod_compute.f90	\	fortran90/marshalling.c		\	fortran90/f90_example.f90native_fortran_nf_vector_SOURCES =	\	native_fortran/nf_codelets.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_vector.f90native_fortran_nf_matrix_SOURCES =	\	native_fortran/nf_codelets.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_matrix.f90native_fortran_nf_example_SOURCES =	\	native_fortran/nf_types.f90		\	native_fortran/nf_compute.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_example.f90native_fortran_nf_dynbuf_SOURCES =	\	native_fortran/nf_dynbuf_cl.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_dynbuf.f90native_fortran_nf_varbuf_SOURCES =	\	native_fortran/nf_varbuf_cl.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_varbuf.f90native_fortran_nf_sched_ctx_SOURCES =	\	native_fortran/nf_sched_ctx_cl.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_sched_ctx.f90native_fortran_nf_partition_SOURCES =	\	native_fortran/nf_partition_cl.f90		\	$(top_srcdir)/include/fstarpu_mod.f90	\	native_fortran/nf_partition.f90endif######################## Multiformat example ########################basic_examples_multiformat_SOURCES =                                    \	basic_examples/multiformat.c                                    \	basic_examples/multiformat_conversion_codelets.cif STARPU_USE_CUDAbasic_examples_multiformat_SOURCES +=                                    \	basic_examples/multiformat_cuda.cu                               \	basic_examples/multiformat_conversion_codelets_cuda.cuendifif STARPU_USE_OPENCLbasic_examples_multiformat_SOURCES +=                                    \	basic_examples/multiformat_opencl.c                              \	basic_examples/multiformat_conversion_codelets_opencl.cnobase_STARPU_OPENCL_DATA_DATA +=                                        \	basic_examples/multiformat_opencl_kernel.cl                      \	basic_examples/multiformat_conversion_codelets_opencl_kernel.clendif################## block example ##################basic_examples_block_SOURCES =			\	basic_examples/block.c			\	basic_examples/block_cpu.cif STARPU_USE_CUDAbasic_examples_block_SOURCES +=			\	basic_examples/block_cuda.cuendifif STARPU_USE_OPENCLbasic_examples_block_SOURCES +=			\	basic_examples/block_opencl.cnobase_STARPU_OPENCL_DATA_DATA += 		\	basic_examples/block_opencl_kernel.clendif##################### Variable example #####################basic_examples_variable_SOURCES =		\	basic_examples/variable.c		\	basic_examples/variable_kernels_cpu.cif STARPU_USE_CUDAbasic_examples_variable_SOURCES +=		\	basic_examples/variable_kernels.cuendifif STARPU_USE_OPENCLbasic_examples_variable_SOURCES +=		\	basic_examples/variable_kernels_opencl.cnobase_STARPU_OPENCL_DATA_DATA += 		\	basic_examples/variable_kernels_opencl_kernel.clendif############ Filters ############filters_fblock_SOURCES =			\	filters/fblock.c			\	filters/fblock_cpu.cif STARPU_USE_CUDAfilters_fblock_SOURCES +=			\	filters/fblock_cuda.cuendifif STARPU_USE_OPENCLfilters_fblock_SOURCES +=			\	filters/fblock_opencl.cnobase_STARPU_OPENCL_DATA_DATA += \	filters/fblock_opencl_kernel.clendiffilters_fmultiple_manual_SOURCES =		\	filters/fmultiple_manual.cif STARPU_USE_CUDAfilters_fmultiple_manual_SOURCES +=		\	filters/fmultiple_cuda.cuendiffilters_fmultiple_submit_SOURCES =		\	filters/fmultiple_submit.cif STARPU_USE_CUDAfilters_fmultiple_submit_SOURCES +=		\	filters/fmultiple_cuda.cuendiffilters_fmultiple_submit_readonly_SOURCES =	\	filters/fmultiple_submit_readonly.cif STARPU_USE_CUDAfilters_fmultiple_submit_readonly_SOURCES +=	\	filters/fmultiple_cuda.cuendifexamplebin_PROGRAMS +=				\	filters/shadow				\	filters/shadow2d			\	filters/shadow3d############################## Custom multiformat filter ###############################TODO: see why the application is failing#lt-custom_mf_filter: .../src/datawizard/malloc.c:784: starpu_free_on_node: Assertion `chunk != _starpu_chunk_list_end(chunks[dst_node])' failed.examplebin_PROGRAMS +=				\	filters/custom_mf/custom_mf_filterfilters_custom_mf_custom_mf_filter_SOURCES=\	filters/custom_mf/custom_mf_filter.c \	filters/custom_mf/custom_interface.c   \	filters/custom_mf/custom_conversion_codelets.cif STARPU_USE_CUDAfilters_custom_mf_custom_mf_filter_SOURCES += \	filters/custom_mf/conversion.cu \	filters/custom_mf/cuda.cuendifif STARPU_USE_OPENCLfilters_custom_mf_custom_mf_filter_SOURCES += \	filters/custom_mf/conversion_opencl.c \	filters/custom_mf/custom_opencl.cnobase_STARPU_OPENCL_DATA_DATA += \	filters/custom_mf/conversion_opencl.cl \	filters/custom_mf/custom_opencl.clendif################# AXPY example #################if !NO_BLAS_LIBaxpy_axpy_SOURCES =				\	axpy/axpy.c				\	common/blas.cif STARPU_USE_OPENCLaxpy_axpy_SOURCES += \	axpy/axpy_opencl.cnobase_STARPU_OPENCL_DATA_DATA +=		\	axpy/axpy_opencl_kernel.clendifaxpy_axpy_LDADD =				\	$(STARPU_BLAS_LDFLAGS)endif################# Mult example #################if !NO_BLAS_LIBmult_sgemm_SOURCES = 				\	mult/sgemm.c				\	common/blas.cmult_sgemm_LDADD =				\	$(STARPU_BLAS_LDFLAGS)mult_dgemm_SOURCES = 				\	mult/dgemm.c				\	common/blas.cmult_dgemm_LDADD =				\	$(STARPU_BLAS_LDFLAGS)endif##################### Cholesky example #####################if !NO_BLAS_LIBcholesky_cholesky_tag_SOURCES =			\	cholesky/cholesky_tag.c			\	cholesky/cholesky_models.c		\	cholesky/cholesky_kernels.c		\	common/blas.ccholesky_cholesky_tag_LDADD =			\	$(STARPU_BLAS_LDFLAGS)cholesky_cholesky_tile_tag_SOURCES =		\	cholesky/cholesky_tile_tag.c		\	cholesky/cholesky_models.c		\	cholesky/cholesky_kernels.c		\	common/blas.ccholesky_cholesky_tile_tag_LDADD =		\	$(STARPU_BLAS_LDFLAGS)cholesky_cholesky_grain_tag_SOURCES =		\	cholesky/cholesky_grain_tag.c		\	cholesky/cholesky_models.c		\	cholesky/cholesky_kernels.c		\	common/blas.ccholesky_cholesky_grain_tag_LDADD =		\	$(STARPU_BLAS_LDFLAGS)cholesky_cholesky_implicit_SOURCES =		\	cholesky/cholesky_implicit.c		\	cholesky/cholesky_models.c		\	cholesky/cholesky_kernels.c		\	sched_ctx_utils/sched_ctx_utils.c	\	common/blas.ccholesky_cholesky_implicit_LDADD =		\	$(STARPU_BLAS_LDFLAGS)endif############### LU example ###############if !NO_BLAS_LIBlu_lu_example_float_SOURCES =			\	lu/lu_example_float.c			\	lu/slu.c				\	lu/slu_pivot.c				\	lu/slu_kernels.c			\	common/blas.clu_lu_example_float_LDADD =			\	$(STARPU_BLAS_LDFLAGS)lu_lu_example_double_SOURCES =			\	lu/lu_example_double.c			\	lu/dlu.c				\	lu/dlu_pivot.c				\	lu/dlu_kernels.c			\	common/blas.clu_lu_example_double_LDADD =			\	$(STARPU_BLAS_LDFLAGS)lu_lu_implicit_example_float_SOURCES =		\	lu/lu_example_float.c			\	lu/slu_implicit.c			\	lu/slu_implicit_pivot.c			\	lu/slu_kernels.c			\	common/blas.clu_lu_implicit_example_float_LDADD =		\	$(STARPU_BLAS_LDFLAGS)lu_lu_implicit_example_double_SOURCES =		\	lu/lu_example_double.c			\	lu/dlu_implicit.c			\	lu/dlu_implicit_pivot.c			\	lu/dlu_kernels.c			\	common/blas.clu_lu_implicit_example_double_LDADD =		\	$(STARPU_BLAS_LDFLAGS)if MKL_BLAS_LIBlu_lu_example_complex_float_SOURCES =		\	lu/lu_example_complex_float.c		\	lu/clu.c				\	lu/clu_pivot.c				\	lu/clu_kernels.c			\	lu/blas_complex.c			\	common/blas.clu_lu_example_complex_float_LDADD =		\	$(STARPU_BLAS_LDFLAGS)lu_lu_implicit_example_complex_float_SOURCES =	\	lu/lu_example_complex_float.c		\	lu/clu_implicit.c			\	lu/clu_implicit_pivot.c			\	lu/clu_kernels.c			\	lu/blas_complex.c			\	common/blas.clu_lu_implicit_example_complex_float_LDADD =	\	$(STARPU_BLAS_LDFLAGS)lu_lu_example_complex_double_SOURCES =		\	lu/lu_example_complex_double.c		\	lu/zlu.c				\	lu/zlu_pivot.c				\	lu/zlu_kernels.c			\	lu/blas_complex.c			\	common/blas.clu_lu_example_complex_double_LDADD =		\	$(STARPU_BLAS_LDFLAGS)lu_lu_implicit_example_complex_double_SOURCES =	\	lu/lu_example_complex_double.c		\	lu/zlu_implicit.c			\	lu/zlu_implicit_pivot.c			\	lu/zlu_kernels.c			\	lu/blas_complex.c			\	common/blas.clu_lu_implicit_example_complex_double_LDADD =	\	$(STARPU_BLAS_LDFLAGS)endifendif################# Heat example #################if !NO_BLAS_LIBheat_heat_SOURCES =				\	heat/heat.c				\	heat/dw_factolu.c			\	heat/dw_factolu_tag.c			\	heat/dw_factolu_grain.c			\	heat/dw_sparse_cg.c			\	heat/heat_display.c			\	heat/lu_kernels_model.c			\	heat/dw_sparse_cg_kernels.c		\	heat/dw_factolu_kernels.c		\	common/blas.cheat_heat_LDADD =				\	$(STARPU_OPENGL_RENDER_LDFLAGS)		\	$(STARPU_BLAS_LDFLAGS)endif############### CG example ###############if !NO_BLAS_LIBcg_cg_SOURCES =					\	cg/cg.c					\	cg/cg_kernels.c				\	common/blas.ccg_cg_LDADD =					\	$(STARPU_BLAS_LDFLAGS)endif################# SPMD example #################spmd_vector_scal_spmd_SOURCES =			\	spmd/vector_scal_spmd.c################# SpMV example #################spmv_spmv_SOURCES = 				\	spmv/spmv.c				\	spmv/spmv_kernels.cif STARPU_USE_CUDAspmv_spmv_SOURCES +=				\	spmv/spmv_cuda.cuendifif ATLAS_BLAS_LIBspmv_dw_block_spmv_SOURCES =			\	spmv/dw_block_spmv.c			\	spmv/dw_block_spmv_kernels.c		\	spmv/matrix_market/mm_to_bcsr.c		\	spmv/matrix_market/mmio.cspmv_dw_block_spmv_LDADD =			\	$(STARPU_BLAS_LDFLAGS)endif############################ C++ Incrementer example ############################cpp_incrementer_cpp_SOURCES	=	\	cpp/incrementer_cpp.cppif STARPU_USE_CUDAcpp_incrementer_cpp_SOURCES +=	\	incrementer/incrementer_kernels.cuendifif STARPU_USE_OPENCLcpp_incrementer_cpp_SOURCES += \	incrementer/incrementer_kernels_opencl.cendif############################ C++ Add vectors example ############################cpp_add_vectors_SOURCES	=	\	cpp/add_vectors.cppcpp_add_vectors_interface_SOURCES	=	\	cpp/add_vectors_interface.cppif STARPU_HAVE_CXX11cpp_add_vectors_cpp11_SOURCES	=	\	cpp/add_vectors_cpp11.cppendif######################## Incrementer example ########################incrementer_incrementer_SOURCES =	\	incrementer/incrementer.cif STARPU_USE_CUDAincrementer_incrementer_SOURCES +=	\	incrementer/incrementer_kernels.cuendifif STARPU_USE_OPENCLincrementer_incrementer_SOURCES +=	\	incrementer/incrementer_kernels_opencl.cnobase_STARPU_OPENCL_DATA_DATA += \	incrementer/incrementer_kernels_opencl_kernel.clendif################### Binary example ###################binary_binary_SOURCES =	\	binary/binary.cif STARPU_USE_OPENCLbinary_binary_SOURCES +=	\	incrementer/incrementer_kernels_opencl.cendif###################### interface example ######################interface_complex_SOURCES	=	\	interface/complex.c		\	interface/complex_interface.cif STARPU_USE_CUDAinterface_complex_SOURCES	+=	\	interface/complex_kernels.cuendifif STARPU_USE_OPENCLinterface_complex_SOURCES +=\	interface/complex_kernels_opencl.cnobase_STARPU_OPENCL_DATA_DATA += \	interface/complex_kernels.clendif####################### matVecMult example #######################if STARPU_USE_OPENCLnobase_STARPU_OPENCL_DATA_DATA += \	matvecmult/matvecmult_kernel.clendif######################## dot_product example ########################reductions_dot_product_SOURCES =		\	reductions/dot_product.cif STARPU_USE_CUDAreductions_dot_product_SOURCES +=		\	reductions/dot_product_kernels.cuendifif STARPU_USE_OPENCLnobase_STARPU_OPENCL_DATA_DATA += \	reductions/dot_product_opencl_kernels.clendif################### Mandelbrot Set ###################examplebin_PROGRAMS +=				\	mandelbrot/mandelbrotmandelbrot_mandelbrot_CPPFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS)if HAVE_X11mandelbrot_mandelbrot_CPPFLAGS += $(X_CFLAGS)mandelbrot_mandelbrot_LDADD = $(X_PRE_LIBS) $(X_LIBS) -lX11 $(X_EXTRA_LIBS)endif##################### Image downscaler #####################examplebin_PROGRAMS +=				\	ppm_downscaler/ppm_downscaler		\	ppm_downscaler/yuv_downscaler################# Top Examples #################examplebin_PROGRAMS +=				\	top/hello_world_toptop_hello_world_top_SOURCES =			\	top/hello_world_top.c####### Pi #######if !STARPU_HAVE_WINDOWSexamplebin_PROGRAMS +=				\	pi/pi					\	pi/pi_reduxpi_pi_SOURCES =					\	pi/pi.c					\	pi/SobolQRNG/sobol_gold.c		\	pi/SobolQRNG/sobol_primitives.cif STARPU_USE_CUDApi_pi_SOURCES +=				\	pi/pi_kernel.cu				\	pi/SobolQRNG/sobol_gpu.cuendifpi_pi_redux_SOURCES =				\	pi/pi_redux.cif STARPU_USE_CUDApi_pi_redux_SOURCES +=				\	pi/pi_redux_kernel.cupi_pi_redux_LDADD =				\	$(STARPU_CURAND_LDFLAGS)endifendif############################ OpenGL interoperability ############################if HAVE_OPENGLexamplebin_PROGRAMS +=				\	gl_interop/gl_interop			\	gl_interop/gl_interop_idlegl_interop_gl_interop_SOURCES =			\	gl_interop/gl_interop.cgl_interop_gl_interop_LDADD =			\	$(STARPU_OPENGL_RENDER_LDFLAGS)gl_interop_gl_interop_idle_SOURCES =		\	gl_interop/gl_interop_idle.cgl_interop_gl_interop_idle_LDADD =		\	$(STARPU_OPENGL_RENDER_LDFLAGS)endif##################### pipeline example #####################if !NO_BLAS_LIBpipeline_pipeline_SOURCES	=	\	pipeline/pipeline.c		\	common/blas.cpipeline_pipeline_LDADD =		\	$(STARPU_BLAS_LDFLAGS)endif################### openmp example ###################if STARPU_HAVE_OPENMPopenmp_vector_scal_omp_CFLAGS = \	$(AM_CFLAGS) -fopenmpsched_ctx_parallel_code_CFLAGS = \	$(AM_CFLAGS) -fopenmpsched_ctx_sched_ctx_without_sched_policy_CFLAGS = \	$(AM_CFLAGS) -fopenmpsched_ctx_nested_sched_ctxs_CFLAGS = \	$(AM_CFLAGS) -fopenmpsched_ctx_parallel_tasks_reuse_handle_CFLAGS = \	$(AM_CFLAGS) -fopenmpendifif 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 entirelymod_types.mod: mod_types.omod_compute.mod: mod_compute.omod_interface.mod: mod_interface.ostarpu_mod.mod: starpu_mod.ostarpu_mod.o: $(top_srcdir)/include/starpu_mod.f90	$(AM_V_FC)$(FC) $(fortran90_f90_example_FCFLAGS) $(FCFLAGS) -c -o $@ '$(top_srcdir)/'include/starpu_mod.f90mod_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.f90f90_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# Native Fortran 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 entirelynf_types.mod: nf_types.onf_compute.mod: nf_compute.ofstarpu_mod.mod: fstarpu_mod.onf_codelets.mod: nf_codelets.onf_dynbuf_cl.mod: nf_dynbuf_cl.onf_varbuf_cl.mod: nf_varbuf_cl.onf_sched_ctx_cl.mod: nf_sched_ctx_cl.onf_partition_cl.mod: nf_partition_cl.ofstarpu_mod.o: $(top_srcdir)/include/fstarpu_mod.f90	$(AM_V_FC)$(FC) $(native_fortran_nf_vector_FCFLAGS) $(FCFLAGS) -c -o $@ '$(top_srcdir)/'include/fstarpu_mod.f90nf_codelets.o: $(top_srcdir)/examples/native_fortran/nf_codelets.f90 fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_vector_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_codelets.f90' || echo '$(srcdir)/'`native_fortran/nf_codelets.f90nf_vector.o: $(top_srcdir)/examples/native_fortran/nf_vector.f90 nf_codelets.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_vector_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_vector.f90' || echo '$(srcdir)/'`native_fortran/nf_vector.f90nf_matrix.o: $(top_srcdir)/examples/native_fortran/nf_matrix.f90 nf_codelets.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_matrix_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_matrix.f90' || echo '$(srcdir)/'`native_fortran/nf_matrix.f90nf_compute.o: $(top_srcdir)/examples/native_fortran/nf_compute.f90 nf_types.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_example_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_compute.f90' || echo '$(srcdir)/'`native_fortran/nf_compute.f90nf_example.o: $(top_srcdir)/examples/native_fortran/nf_example.f90 nf_types.mod nf_compute.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_example_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_example.f90' || echo '$(srcdir)/'`native_fortran/nf_example.f90nf_dynbuf_cl.o: $(top_srcdir)/examples/native_fortran/nf_dynbuf_cl.f90 nf_types.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_dynbuf_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_dynbuf_cl.f90' || echo '$(srcdir)/'`native_fortran/nf_dynbuf_cl.f90nf_dynbuf.o: $(top_srcdir)/examples/native_fortran/nf_dynbuf.f90 nf_types.mod nf_dynbuf_cl.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_dynbuf_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_dynbuf.f90' || echo '$(srcdir)/'`native_fortran/nf_dynbuf.f90nf_varbuf_cl.o: $(top_srcdir)/examples/native_fortran/nf_varbuf_cl.f90 nf_types.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_varbuf_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_varbuf_cl.f90' || echo '$(srcdir)/'`native_fortran/nf_varbuf_cl.f90nf_varbuf.o: $(top_srcdir)/examples/native_fortran/nf_varbuf.f90 nf_types.mod nf_varbuf_cl.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_varbuf_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_varbuf.f90' || echo '$(srcdir)/'`native_fortran/nf_varbuf.f90nf_sched_ctx_cl.o: $(top_srcdir)/examples/native_fortran/nf_sched_ctx_cl.f90 nf_types.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_sched_ctx_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_sched_ctx_cl.f90' || echo '$(srcdir)/'`native_fortran/nf_sched_ctx_cl.f90nf_sched_ctx.o: $(top_srcdir)/examples/native_fortran/nf_sched_ctx.f90 nf_types.mod nf_sched_ctx_cl.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_sched_ctx_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_sched_ctx.f90' || echo '$(srcdir)/'`native_fortran/nf_sched_ctx.f90nf_partition_cl.o: $(top_srcdir)/examples/native_fortran/nf_partition_cl.f90 nf_types.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_partition_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_partition_cl.f90' || echo '$(srcdir)/'`native_fortran/nf_partition_cl.f90nf_partition.o: $(top_srcdir)/examples/native_fortran/nf_partition.f90 nf_types.mod nf_partition_cl.mod fstarpu_mod.mod	$(AM_V_FC)$(FC) $(native_fortran_nf_partition_FCFLAGS) $(FCFLAGS) -c -o $@ `test -f 'native_fortran/nf_partition.f90' || echo '$(srcdir)/'`native_fortran/nf_partition.f90endif
 |