Repository: incubator-systemml Updated Branches: refs/heads/master fcfe893f1 -> 20b1399f1
[SYSTEMML-524] Document turning off parfor parallelization in DML Lang Ref Closes #75. Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/20b1399f Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/20b1399f Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/20b1399f Branch: refs/heads/master Commit: 20b1399f1331ee54888db57c38553afcb73378a0 Parents: fcfe893 Author: Deron Eriksson <[email protected]> Authored: Sun Mar 6 23:41:54 2016 -0800 Committer: Deron Eriksson <[email protected]> Committed: Sun Mar 6 23:41:54 2016 -0800 ---------------------------------------------------------------------- docs/dml-language-reference.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/20b1399f/docs/dml-language-reference.md ---------------------------------------------------------------------- diff --git a/docs/dml-language-reference.md b/docs/dml-language-reference.md index 2317d71..64fd950 100644 --- a/docs/dml-language-reference.md +++ b/docs/dml-language-reference.md @@ -361,7 +361,7 @@ The syntax and semantics of a `parfor` (parallel `for`) statement are equivalent <task_size> is an arbitrary integer number <data_partitioning_mode> is one of the following tokens: NONE LOCAL REMOTE_MR <result_merge_mode> is one of the following tokens: LOCAL_MEM LOCAL_FILE LOCAL_AUTOMATIC REMOTE_MR - <optimization_mode> is one of the following tokens: NONE RULEBASED HEURISTIC GREEDY FULL_DP + <optimization_mode> is one of the following tokens: NONE CONSTRAINED RULEBASED HEURISTIC GREEDY FULL_DP If any of these parameters is not specified, the following respective defaults are used: `check = 1`, `par = [number of virtual processors on master node]`, `mode = LOCAL`, `taskpartitioner = FIXED`, `tasksize = 1`, `datapartitioner = NONE`, `resultmerge = LOCAL_AUTOMATIC`, `opt = RULEBASED`. @@ -394,6 +394,14 @@ the `check = 0` option. ms[,(v-1)*3+1:v*3] = mv } +While developing DML scripts or debugging, it can be useful to **turn off `parfor` parallelization**. This can be accomplished in the following +three ways: + +1. Replace `parfor()` with `for()`. Since `parfor` is derived from `for`, you can always use `for` wherever you can use `parfor`. +2. `parfor(opt = NONE, par = 1, ...)`. This disables optimization, uses defaults, and overwrites the specified parameters. +3. `parfor(opt = CONSTRAINED, par = 1, ...)`. This optimizes using the specified parameters. + + ### User-Defined Function (UDF)
