Menu

Tree [6b71fb] master /
 History

HTTPS access


File Date Author Commit
 examples 2013-06-27 apop apop [df9465] Merge git://git.drebesium.org/openstream
 extras 2013-06-20 Andi Drebes Andi Drebes [e5b3a6] Cilk versions: Add -D_XOPEN_SOURCE=600 -D_POSIX...
 gcc 2013-07-09 apop apop [4e8db9] libworkstream_df: make LAST_OWNER field depend ...
 libworkstream_df 2013-07-09 apop apop [6b71fb] libworkstream_df: fix bug of reached_position f...
 .gitignore 2013-06-19 Andi Drebes Andi Drebes [a69b73] Update git ignore file for new Cilk / OpenMP ve...
 .gitmodules 2013-06-25 apop apop [5ec1e8] Merge git://git.drebesium.org/openstream
 Makefile 2013-05-14 Andi Drebes Andi Drebes [944352] Add target "papi_support" to toplevel Makefile
 Makefile.config 2013-03-15 Andi Drebes Andi Drebes [dd0d77] Merge branch 'master' of git://git.code.sf.net/...
 README 2012-06-27 apop apop [e19bb4] Adding syntax examples and Fibonacci.

Read Me

** Data-flow runtime restrictions **

Set of restrictions on the streaming model deriving from the use of a
DF runtime target.

1. Matching rules for burst/horizon values of each stream access
operation:

   - for any given stream, the input horizon is an integer multiple of
     the output burst of all tasks on the same stream

   - for any output clause, the horizon is always equal to the burst
     (no "poke" operation allowed)

   - for any input clause, the burst is either null (peek operation)
     or equal to the horizon.

2. All data produced on a stream must be consumed.  The program will
indefinitely wait if more data is produced than consumed, which is due
to the fact that a producer cannot execute as long as it doesn't know
its consumers (it writes directly in their DF frame).  It is possible
to activate the option to discard unused data in the runtime
(semantics of the "tick" operation) by providing fake frames where
producers write the data to discard (necessary if some other stream's
data is used or if the task has side-effects).


** Known issues **

1. Streams of arrays currently experience an ICE.

2. The OpenMP shared clause may not work in most cases.  Use a
firstprivate clause on a pointer instead.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.