Commit graph

13 commits

Author SHA1 Message Date
Ilia Cherniavskii
4ce4bc5c7f Fix occasional test timeouts
Summary: Make test less computationally expensive

Reviewed By: Yangqing, dzhulgakov

Differential Revision: D6766236

fbshipit-source-id: 59e51faa1331d804b11da9f7237ee9ce0cb27df8
2018-01-19 20:08:58 -08:00
Ilia Cherniavskii
38f166c13a Async executor with less polling
Summary:
Async executor based on async_polling (D5985110):
- Tasks scheduling other tasks, using polling only when necessary (e.g.
  CUDA->CPU case)
- Fully async, i.e. RunAsync immediately returns

Reviewed By: azzolini

Differential Revision: D6281681

fbshipit-source-id: 06e3723e1424ffab652c38ca7b279cf76e43fa44
2017-11-28 18:50:32 -08:00
Ilia Cherniavskii
1149b9bbb5 Polling async net executor
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
2017-11-03 07:27:44 -07:00
Ilia Cherniavskii
569bdb4b77 Refactor executor test
Summary:
Travis treats test_settings/test_model_names as tests, moving them into
executor_test_util

Reviewed By: bddppq

Differential Revision: D6068920

fbshipit-source-id: 01c5bf962b985398414f44a7849c0f6344fd7e1d
2017-10-16 15:17:16 -07:00
Ilia Cherniavskii
2c01afd2a6 DoOp reuse workspace and test
Summary: Adding ability to reuse workspace in Do op and unit tests

Reviewed By: akyrola

Differential Revision: D6037992

fbshipit-source-id: 73d6a14001f667f7ca5e1e02ff39911dc65e4cd1
2017-10-12 13:37:34 -07:00
Ilia Cherniavskii
1dbbef6b48 Fix crash in blob deallocation
Summary: We have to use copy constructor in Concat when copying non-primitive types

Reviewed By: Yangqing

Differential Revision: D6002883

fbshipit-source-id: 0aebc955079975bb6423291589ed09ce0660acf3
2017-10-10 19:03:01 -07:00
Ilia Cherniavskii
b4dfadcfa2 Fix OOM in Travis in executor test
Summary: Use only MLP model and re-enable test

Reviewed By: bddppq, Yangqing

Differential Revision: D6013471

fbshipit-source-id: 0cb4a9346c62a739ee6259832181f71e60eef311
2017-10-10 17:19:43 -07:00
Ilia Cherniavskii
4362c4de9c Temporarily disable test in Travis
Summary: Temporarily disable executor test in Travis

Reviewed By: akyrola

Differential Revision: D5997441

fbshipit-source-id: 54f454d99a50a917a950dfd23b1e20fb7fbbc754
2017-10-06 12:06:38 -07:00
Ilia Cherniavskii
5eb45fb0b4 Add check for Travis in executor test
Summary: Also check whether test runs under Travis

Reviewed By: Yangqing

Differential Revision: D5966311

fbshipit-source-id: 0d72259e194b25cc7477d6e62c6fa8e8d83e5f50
2017-10-05 11:40:23 -07:00
Ilia Cherniavskii
bf7b11f235 Fix executor test base module
Summary: Fix base module of executor test util

Reviewed By: dzhulgakov

Differential Revision: D5960543

fbshipit-source-id: 4bcaba583a2c8ee4f7544b8000ad60e8d9846936
2017-10-02 17:34:06 -07:00
Ilia Cherniavskii
6258fc2f15 Executor benchmarks
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
2017-10-02 12:59:21 -07:00
Ilia Cherniavskii
1f3424b78f Adjust test thresholds
Summary: Adjust test thresholds and number of examples

Reviewed By: salexspb

Differential Revision: D5945588

fbshipit-source-id: 7aecb8c642d8775f51dd3c296a28f1faf7ae0c81
2017-10-02 12:59:20 -07:00
Ilia Cherniavskii
8c0844f497 Executor test
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
2017-09-29 02:07:14 -07:00