Summary: Make test less computationally expensive
Reviewed By: Yangqing, dzhulgakov
Differential Revision: D6766236
fbshipit-source-id: 59e51faa1331d804b11da9f7237ee9ce0cb27df8
Summary:
Implementation of polling async net executor.
Notes:
- New net executor async_polling - schedules CPU and GPU ops asynchronously, uses single polling thread
- Events: update to Caffe2 events to support async CPU events, adding new methods:
Query() - non-blocking checking of event states: INITIALIZED -> RECORDED -> SUCCESS/FAILED
ErrorMessage() - when operation runs asynchronously and fails calling this on event will give error message
- Tasks: using existing DAGNet's algorithm to compute CPU and GPU chains, a separate task for each chain
- Polling: using single thread to query state of events - for CPU tasks atomically queries task state, for GPU task - uses cudaEventQuery; using Event
- Scheduling of CPU ops: using global thread pools
- Scheduling of GPU ops: using GPU thread pool per GPU device
Reviewed By: dzhulgakov
Differential Revision: D5985110
fbshipit-source-id: a9de7fcbb71d046a3aa1b573072b89a65dfeee8c
Summary:
Executor benchmarks to measure QPS for different models (sparse nn hogwild and
dataparallel, resnet50 dataparallel)
Reviewed By: dzhulgakov
Differential Revision: D5950770
fbshipit-source-id: 9aa8e0480468a55a6a97b10589d785c682fae01e
Summary:
Executor test that checks on different models that model params are the same
when using a given executor and simple net
Reviewed By: akyrola
Differential Revision: D5908769
fbshipit-source-id: b6f5a2cf89c5c67b68e8b9be3264f38d5740d897