Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1055)

Unified Diff: dm/README

Issue 22839016: Skeleton of DM (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: missed one Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dm/README
diff --git a/dm/README b/dm/README
new file mode 100644
index 0000000000000000000000000000000000000000..cfff9de14533f4ff016af3cb937d7b69fc8450ce
--- /dev/null
+++ b/dm/README
@@ -0,0 +1,40 @@
+DM is like GM, but multithreaded. It doesn't do everything GM does yet.
+
+Current approximate list of missing features:
+ --mismatchPath
+ --missingExpectationsPath
+ --writePath
+ --writePicturePath
+
+ --deferred
bsalomon 2013/10/10 21:13:07 We probably want most of these replay features. I'
mtklein 2013/10/10 22:32:19 Roger roger. Will come around and flesh these all
epoger 2013/10/11 21:13:13 Yup, we definitely need those on the bots. Fine w
+ --pdf
+ --pipe
scroggo 2013/10/11 21:20:48 Pipe is currently only used by deferred, so it mig
mtklein 2013/10/15 18:30:53 Great. I will keep this in mind.
+ --rtree
+ --serialize
+ --tiledGrid
+ --tiledPipe
scroggo 2013/10/11 21:20:48 tiledPipe is an experiment that we are not current
mtklein 2013/10/15 18:30:53 Sweet. Gone.
+
+
+DM's design is based around Tasks and a TaskRunner.
+
+A Task represents an independent unit of work that might fail. We make a task
+for each GM/configuration pair we want to run. Tasks can kick off new tasks
+themselves. For example, a CpuTask can kick off a ReplayTask to make sure
+recording and playing back an SkPicture gives the same result as direct
+rendering.
+
+The TaskRunner runs all tasks on one of two threadpools, whose sizes are
+configurable by --cpuThreads and --gpuThreads. Ideally we'd run these on a
+single threadpool but it can swamp the GPU if we shove too much work into it at
+once. --cpuThreads defaults to the number of cores on the machine.
+--gpuThreads defaults to 1, but you may find 2 or 4 runs a little faster.
+
+So the main flow of DM is:
+
+ for each GM:
+ for each configuration:
+ kick off a new task
+ < tasks run, maybe fail, and maybe kick off new tasks >
+ wait for all tasks to finish
+ report failures
+
« dm/DMTaskRunner.cpp ('K') | « dm/DMUtil.cpp ('k') | gm/gm_expectations.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698