Changeset: e294f4f0f388 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e294f4f0f388 Modified Files: monetdb5/mal/Tests/All monetdb5/mal/Tests/dataflow03.mal monetdb5/mal/Tests/dataflow03.stable.err monetdb5/mal/Tests/dataflow03.stable.out Branch: default Log Message:
A simple test for dataflow Mostly use in debugging mode to test the scheduler. diffs (177 lines): diff --git a/monetdb5/mal/Tests/All b/monetdb5/mal/Tests/All --- a/monetdb5/mal/Tests/All +++ b/monetdb5/mal/Tests/All @@ -199,6 +199,7 @@ tst803 tst804 tst805 +tst819 tst820 tst830 tst840 @@ -254,6 +255,7 @@ parseErrors dataflow01 +dataflow03 flowchk dynamicload diff --git a/monetdb5/mal/Tests/dataflow03.mal b/monetdb5/mal/Tests/dataflow03.mal new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/dataflow03.mal @@ -0,0 +1,43 @@ +# simple test for graph admin + +function f(b:int):int; +return f:= b; +end f; +function f(a:int,b:int):int; +return f:= a+b; +end f; + +function sequential(); + A0:=1; + z:= -1; + x0:= f(A0); + x1:= f(x0); + y:= f(x1,x0); + w:= f(1,x0); + a:= f(x1,x1); #wakeup only once + z:= f(y,x0); + y:= f(z); + z:= f(y); + z:= f(z); + io.print(z); +end sequential; + +function qry(); + A0:=1; + z:= -1; +barrier x:= language.dataflow(); + x0:= f(A0); + x1:= f(x0); + y:= f(x1,x0); + w:= f(1,x0); + a:= f(x1,x1); + z:= f(y,x0); + y:= f(z); + z:= f(y); + z:= f(z); +exit x; + io.print(z); +end qry; + +sequential(); +qry(); diff --git a/monetdb5/mal/Tests/dataflow03.stable.err b/monetdb5/mal/Tests/dataflow03.stable.err new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/dataflow03.stable.err @@ -0,0 +1,33 @@ +stderr of test 'dataflow03` in directory 'mal` itself: + + +# 13:00:32 > +# 13:00:32 > mserver5 --debug=10 --set gdk_nr_threads=0 --set "gdk_dbfarm=/ufs/mk/current//Linux/var/MonetDB" --set mapi_open=true --set mapi_port=36857 --set monet_prompt= --trace --forcemito --set mal_listing=2 --dbname=mTests_mal dataflow03.mal +# 13:00:32 > + +# builtin opt gdk_dbname = demo +# builtin opt gdk_dbfarm = /ufs/mk/current//Linux/var/monetdb5/dbfarm +# builtin opt gdk_debug = 0 +# builtin opt gdk_alloc_map = no +# builtin opt gdk_vmtrim = yes +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt default_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector +# builtin opt minimal_pipe = inline,remap,deadcode,multiplex,garbageCollector +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt gdk_dbfarm = /ufs/mk/current//Linux/var/MonetDB +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 36857 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbname = mTests_mal + +# 13:00:32 > +# 13:00:32 > Done. +# 13:00:32 > + diff --git a/monetdb5/mal/Tests/dataflow03.stable.out b/monetdb5/mal/Tests/dataflow03.stable.out new file mode 100644 --- /dev/null +++ b/monetdb5/mal/Tests/dataflow03.stable.out @@ -0,0 +1,67 @@ +stdout of test 'dataflow03` in directory 'mal` itself: + + +# 13:00:32 > +# 13:00:32 > mserver5 --debug=10 --set gdk_nr_threads=0 --set "gdk_dbfarm=/ufs/mk/current//Linux/var/MonetDB" --set mapi_open=true --set mapi_port=36857 --set monet_prompt= --trace --forcemito --set mal_listing=2 --dbname=mTests_mal dataflow03.mal +# 13:00:32 > + +# MonetDB 5 server v11.4.0 +# This is an unreleased version +# Serving database 'mTests_mal', using 4 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked +# Found 7.749 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2011 MonetDB B.V., all rights reserved +# Visit http://monetdb.cwi.nl/ for further information +# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:36857/ +# MonetDB/SQL module loaded +# MonetDB/GIS module loaded +function user.f(b:int):int; + return f := b; +end f; +function user.f(a:int,b:int):int; + return f := calc.+(a,b); +end f; +function user.sequential():void; + A0 := 1; + z := -1; + x0 := user.f(A0); + x1 := user.f(x0); + y := user.f(x1,x0); + w := user.f(1,x0); + a := user.f(x1,x1); +#wakeup only once + z := user.f(y,x0); + y := user.f(z); + z := user.f(y); + z := user.f(z); + io.print(z); +end sequential; +function user.qry():void; + A0 := 1; + z := -1; +barrier x := language.dataflow(); + x0 := user.f(A0); + x1 := user.f(x0); + y := user.f(x1,x0); + w := user.f(1,x0); + a := user.f(x1,x1); + z := user.f(y,x0); + y := user.f(z); + z := user.f(y); + z := user.f(z); +exit x; + io.print(z); +end qry; +function user.main():void; +# simple test for graph admin + user.sequential(); + user.qry(); +end main; +[ 3 ] +[ 3 ] + +# 13:00:32 > +# 13:00:32 > Done. +# 13:00:32 > + _______________________________________________ Checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
