Samuel Thibault 75e93fa729 Document that one should check that the kernel did properly start 4 år sedan
..
.gitignore 27eaf1ca36 Add `.gitignore'. 14 år sedan
0.5.out 58330fd908 Add stencil example 14 år sedan
0.out 58330fd908 Add stencil example 14 år sedan
1.out 58330fd908 Add stencil example 14 år sedan
2.out 58330fd908 Add stencil example 14 år sedan
3.out 58330fd908 Add stencil example 14 år sedan
4.out 58330fd908 Add stencil example 14 år sedan
6.out 58330fd908 Add stencil example 14 år sedan
Makefile.am e49076e973 prefix all autotools conditional variables with STARPU 5 år sedan
README 340d322899 update copyright holders 5 år sedan
implicit-stencil-blocks.c 6a16f8370f update copyright holders 5 år sedan
implicit-stencil-kernels.c 6a16f8370f update copyright holders 5 år sedan
implicit-stencil-tasks.c 6a16f8370f update copyright holders 5 år sedan
implicit-stencil.c 4a7481131a Reduce stencil execution time on valgrind 5 år sedan
implicit-stencil.h 6a16f8370f update copyright holders 5 år sedan
life.c 6a16f8370f update copyright holders 5 år sedan
life_cuda.cu 75e93fa729 Document that one should check that the kernel did properly start 4 år sedan
life_opencl.c 6a16f8370f update copyright holders 5 år sedan
loader-cross.sh.in 999afbb767 Fix cross-loader for the examples/stencil directory 9 år sedan
mpi.out 58330fd908 Add stencil example 14 år sedan
results 58330fd908 Add stencil example 14 år sedan
run 340d322899 update copyright holders 5 år sedan
shadow.cu 75e93fa729 Document that one should check that the kernel did properly start 4 år sedan
shadow.h 6a16f8370f update copyright holders 5 år sedan
shadow_opencl.c 6a16f8370f update copyright holders 5 år sedan
stencil-blocks.c 6a16f8370f update copyright holders 5 år sedan
stencil-kernels.c 6a16f8370f update copyright holders 5 år sedan
stencil-tasks.c 6a16f8370f update copyright holders 5 år sedan
stencil.c 4a7481131a Reduce stencil execution time on valgrind 5 år sedan
stencil.h 6a16f8370f update copyright holders 5 år sedan

README

# StarPU --- Runtime system for heterogeneous multicore architectures.
#
# Copyright (C) 2010-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
#
# 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.
#
This is a sample 3D stencil application (here just using the game of life rules
for simplicity), split on the z axis.

This is a suggest order of read:

life.c
life.cu: Heart of the stencil computation: compute a new state from an old one.

shadow.cu
shadow.h: Perform replication of data on X and Y edges, to fold the domain on
itself through mere replication of the source state.

stencil.h: Declarations

stencil-kernels.c: Computation Kernels

stencil-blocks.c: Manage block and tags allocation

stencil-tasks.c: Schedule tasks for updates and saves

stencil.c: Main application

*.out: various results according to beta value (communication vs computation
penalty ratio), run make pics or make view to get pictures.
mpi.out: results on MPI.

results: a few results

You can also use the implicit distributed flavour of this application (e.g.
with communications between processes automatically inferred by StarPU-MPI),
which is called implicit_stencil.