Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ray master #3

Open
wants to merge 215 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
215 commits
Select commit Hold shift + click to select a range
814c35b
[rllib] Simplify sample batch size and num envs config, n_step adjust…
ericl Oct 1, 2018
e4bea8d
[rllib] Default to truncate_episodes and add some more config validat…
ericl Oct 1, 2018
b45bed4
[rllib] Propagate model options correctly in ARS / ES, to action dist…
ericl Oct 1, 2018
fcef4ed
[Java] Fix the required-resources issue of actor member function in J…
jovany-wang Oct 1, 2018
2019b41
[rllib] Remove legacy multiagent support (#2975)
ericl Oct 1, 2018
3ce8eb2
Test dying_worker_get and dying_worker_wait for xray. (#2997)
robertnishihara Oct 2, 2018
9c606ea
fix bug: (#3000)
bibabolynn Oct 3, 2018
cc7e2ec
Change logfile names and also allow plasma store socket to be passed …
suquark Oct 3, 2018
d73ee36
Update links to use latest 0.5.3 wheels instead of 0.5.2. (#3018)
robertnishihara Oct 3, 2018
9948e8c
Move function/actor exporting & loading code to function_manager.py (…
guoyuhong Oct 3, 2018
f2dbd30
Minor improvements and fixes in Python code. (#3022)
suquark Oct 4, 2018
01bb073
Suppress errors when worker or driver intentionally disconnects. (#2935)
richardliaw Oct 4, 2018
faa31ae
Introduce concept of resources required for placing a task. (#2837)
robertnishihara Oct 4, 2018
0651d3b
[tune/core] Use Global State API for resources (#3004)
richardliaw Oct 5, 2018
ecd8f39
[core] Improve logging message when plasma store is started. (#3029)
richardliaw Oct 5, 2018
2d35a97
Bug/log syncer fails with parentheses (#2653)
hartikainen Oct 6, 2018
84bf5fc
[Java] Load driver resources from local path. (#3001)
jovany-wang Oct 8, 2018
ef1f2fd
Fix the uniqueId toString format. (#3035)
jovany-wang Oct 8, 2018
060891a
[cmake] avoid to re-build pyarrow (#2963)
chuxi Oct 10, 2018
4a2ed47
[Java] Improve some Java code (#3040)
jovany-wang Oct 11, 2018
828fe24
[Java] Fix loading driver resources issue. (#3046)
jovany-wang Oct 11, 2018
f9b58d7
[tune] Tweaks to Trainable and Verbosity (#2889)
richardliaw Oct 12, 2018
87639b9
move make clean before cmake command, avoid always running mvn instal…
chuxi Oct 12, 2018
473ee4e
[rllib] Add unit test and some better error messages for custom polic…
ericl Oct 13, 2018
866c7a5
[rllib] Don't crash printing out error message (#3054)
ericl Oct 14, 2018
4dc78b7
[tune] Fix misleading comment (#3058)
marlonjan Oct 15, 2018
3c891c6
[rllib] Parallel-data loading and multi-gpu support for IMPALA (#2766)
ericl Oct 15, 2018
6240ccb
[rllib] Add more warnings when multi-agent envs might not be set up r…
ericl Oct 15, 2018
4d8cfc0
[tune] Fix (some more) misleading comments in tune/results.py (#3068)
praveen-palanisamy Oct 16, 2018
64e5eb3
[Java] Add jvm-parameters in Config. (#3065)
jovany-wang Oct 16, 2018
a9e454f
[rllib] Include config dicts in the sphinx docs (#3064)
ericl Oct 16, 2018
a41bbc1
Add password authentication to Redis ports (#2952)
pschafhalter Oct 17, 2018
3c0803e
[rllib] use `ray.wait` to get next worker result in async sample opti…
richard4912 Oct 18, 2018
2c52d9d
Fix actor handle id creation when actor handle was pickled (#3074)
pcmoritz Oct 18, 2018
b82fd15
Remove Redis protected mode (#3073)
pschafhalter Oct 18, 2018
653c5b1
[c++] Refine Log Code (#2816)
guoyuhong Oct 18, 2018
8fcdafc
Adding Python3.7 wheels support (#2546)
devin-petersohn Oct 19, 2018
fa46978
Fix bug when connecting to password-secured cluster (#3083)
pschafhalter Oct 19, 2018
9d23fa0
[xray] All messages on main asio event loop should be written asynchr…
ericl Oct 19, 2018
b410ee0
[Java] Support dynamically defining resources when submitting task. (…
jovany-wang Oct 19, 2018
9a5c273
[java] fix check exception type (#3093)
bibabolynn Oct 19, 2018
9a2b533
Add links for latest Python 3.7 wheels to documentation. (#3091)
robertnishihara Oct 19, 2018
59901a8
[rllib] Native support for Dict and Tuple spaces; fix Tuple action sp…
ericl Oct 20, 2018
a4db5bb
Fill driver id into actor notification when finishing assigned task. …
jovany-wang Oct 21, 2018
40c4148
Cluster Utilities for Fault Tolerance Tests (#3008)
richardliaw Oct 21, 2018
221d166
[rllib] switch to python logger (#3098)
ericl Oct 22, 2018
eff7cb4
[tune] Fix SearchAlg finishing early (#3081)
richardliaw Oct 22, 2018
8d8b6e5
Retry connections to redis for async and subscribe contexts (#3105)
pcmoritz Oct 23, 2018
73a092e
update (#3112)
ericl Oct 23, 2018
22dd7e0
Add test for wait reconstruction. (#3110)
robertnishihara Oct 23, 2018
9d2e864
Fix Python linting error. (#3113)
robertnishihara Oct 23, 2018
9c1826e
Use XRay backend by default. (#3020)
robertnishihara Oct 23, 2018
7c1fd19
[Java] support python worker command in raylet (#3092)
chuxi Oct 24, 2018
55d161b
[autoscaler] Also grant roles to worker nodes
ericl Oct 24, 2018
5aa2961
Fix linting errors. (#3127)
robertnishihara Oct 24, 2018
d34516f
Update Gemfile Jekyll version (#3140)
pcmoritz Oct 26, 2018
d3148cc
[SGD] Provide better error message if model graphs have different num…
pcmoritz Oct 26, 2018
b4614ae
[java] customize path of ray.conf (#3100)
bibabolynn Oct 26, 2018
055daf1
[autoscaler] better message if there are more than 10 key pairs
ericl Oct 26, 2018
658c142
Remove legacy Ray code. (#3121)
robertnishihara Oct 26, 2018
6531eed
[rllib] Better error message when action space dim too high (#3119)
ericl Oct 26, 2018
befbf78
Delete empty pubsub keys (#3146)
guoyuhong Oct 27, 2018
af0c117
[sgd] Merge sharded param server based SGD implementation (#3033)
ericl Oct 28, 2018
d6bf890
Solve hang caused by ray.get in collect_metrics (#3096)
joneswong Oct 28, 2018
a404401
Update agent.py to fix lint error
ericl Oct 28, 2018
fd854ff
Allow the node manager port and object manager port to be set through…
robertnishihara Oct 29, 2018
08fc9e5
Add more description to setup.py. (#3153)
robertnishihara Oct 29, 2018
9868af4
Use /tmp instead of /dev/shm for object store on Linux if /dev/shm is…
robertnishihara Oct 29, 2018
32f0d6b
Deprecate num_workers argument to ray.init and ray start. (#3114)
robertnishihara Oct 29, 2018
e49839c
Fix linting. (#3155)
robertnishihara Oct 29, 2018
a221f55
[rllib] Add custom value functions, fix up and document multi-agent v…
ericl Oct 30, 2018
aacbd00
[xray] Implement faster flush policy for lineage cache (#3071)
stephanie-wang Oct 30, 2018
9df2e6e
[tune] Modify stop criteria in hyperopt example (#3102)
stvreumi Oct 30, 2018
1f29a96
Update task_table and object_table API. (#3161)
robertnishihara Oct 31, 2018
2086a57
[tune] Add Fractional GPU example/docs (#3169)
richardliaw Nov 1, 2018
cd284bb
[rllib] Document env compatibility, Ape-X support for multi-agent (#3…
ericl Nov 1, 2018
b2caed9
[minor] fix a3c pytorch example dim 80 => 84
ericl Nov 1, 2018
60f2804
Document fractional resources. (#3174)
robertnishihara Nov 1, 2018
57d6e98
Update actor fault tolerance documentation. (#3175)
robertnishihara Nov 1, 2018
e612e26
Add use_raylet option for backwards compatibility. (#3176)
robertnishihara Nov 1, 2018
2bef984
Revert "[autoscaler] Also grant roles to worker nodes" (#3199)
ericl Nov 2, 2018
5822aa2
Rename get_task -> worker_idle in timeline. (#3179)
robertnishihara Nov 2, 2018
e495ab5
Fix some paths /tmp/raylogs -> /tmp/ray. (#3189)
robertnishihara Nov 2, 2018
8c03683
Add warning about using latest wheels (#3207)
ericl Nov 2, 2018
5ce7ed7
Fix 'tempfile' docs (#3180)
suquark Nov 2, 2018
ca7d4c2
Enable to specify driver id by user. (#3084)
jovany-wang Nov 3, 2018
9a0f0db
Add `ray stack` tool for debugging (#3213)
ericl Nov 3, 2018
0da15b1
Fix build system dependency for local_scheduler_client (#3215)
pcmoritz Nov 3, 2018
7d69c77
[rllib] Decouple ape-x sampling and learning speed
ericl Nov 4, 2018
369cb83
[rllib] Implement custom metrics (#3144)
ericl Nov 4, 2018
fb6ac28
single sourcing the package version (#3220)
xutianming Nov 4, 2018
99bac44
Update CMake to support Mac OS X 10.14 (#3218)
pcmoritz Nov 5, 2018
813f517
[rllib] Fix rllib rollouts script and add test (#3211)
ericl Nov 5, 2018
d8ae9de
Caching task resource requirements. (#3231)
istoica Nov 5, 2018
bf88aa5
Increase timeout before reconstruction is triggered (#3217)
stephanie-wang Nov 6, 2018
4968cc5
Fix a small typo (#3240)
jovany-wang Nov 6, 2018
80f6369
Cap object store memory to 20GB when size is None (#3243)
ericl Nov 6, 2018
8356a01
Remove suppressing duplicate error message (missed a couple)
ericl Nov 6, 2018
f3efcd2
Fix password authentication in worker (#3124)
pschafhalter Nov 6, 2018
725df3a
Set the process title in workers and actors (#3219)
ericl Nov 6, 2018
344b4ef
[rllib] Fix filter sync for ES and ARS (#2918)
eugenevinitsky Nov 7, 2018
ca58570
Refactor ObjectDirectory to reduce and fix callback usage (#3227)
stephanie-wang Nov 7, 2018
2e04ffe
Change dict serialization warning to debug (#3230)
ericl Nov 7, 2018
4182b85
Cache resources in SchedulingQueue (#3232)
pcmoritz Nov 7, 2018
1dd5d92
Enable timeline visualizations of object transfers. (#3255)
robertnishihara Nov 7, 2018
29e3362
Better errors on process deaths (#3252)
ericl Nov 7, 2018
cf9e838
[tune] Raise Error when overstepping (#3235)
richardliaw Nov 7, 2018
43df405
[rllib] Add some debug logs during agent setup (#3247)
ericl Nov 7, 2018
0bab8ed
Expose internal config parameters for starting Ray (#3246)
richardliaw Nov 8, 2018
d950e92
Allow multiple threads to call ray.get and ray.wait (#3244)
stephanie-wang Nov 8, 2018
9b27941
[minor] Change chunk already exists to DEBUG, add flags for rllib mul…
ericl Nov 8, 2018
8894883
Force kill web UI in ray stop (#3257)
pcmoritz Nov 8, 2018
588705b
[autoscaler] Add option to allow private ips only (#3270)
ericl Nov 9, 2018
22113be
[tune] Annotated Example Page and showcase Tutorials (#3267)
richardliaw Nov 9, 2018
9dd3eed
[rllib] rollout.py should reduce num workers (#3263)
ericl Nov 9, 2018
a51d618
[autoscaler] missing example-full.yaml file in the latest wheel for p…
ericl Nov 10, 2018
29c182d
[tune] Support "None" for upload_dir
richardliaw Nov 10, 2018
d681893
Speed up task dispatch. (#3234)
istoica Nov 10, 2018
53489d2
[sgd] Document and add simple MNIST example (#3236)
ericl Nov 11, 2018
463511f
[tune] Track and warn on low memory (#3298)
ericl Nov 11, 2018
49e2085
[rllib] Don't reset envs when possible (#3290)
ericl Nov 11, 2018
e37891d
[tune] Fix default handling for timesteps (#3293)
richardliaw Nov 12, 2018
bd0dbde
[rllib] Rename ServingEnv => ExternalEnv (#3302)
ericl Nov 13, 2018
ce6e01b
enable incremental builds (#3292)
pcmoritz Nov 13, 2018
d90f365
[rllib] Add self-supervised loss to model (#3291)
ericl Nov 13, 2018
c0423db
[core] Add Global State Test for multi-node setting (#3239)
richardliaw Nov 13, 2018
6ee7a3b
[rllib] Raise worker TF intra_op threads to 2, lower driver intra_op …
ericl Nov 13, 2018
c3a2c7e
[tune] Doc: Autofilled, StatusReporter (#3294)
richardliaw Nov 13, 2018
97f4237
Clean up Ray processes after cluster util exits (#3278)
richardliaw Nov 13, 2018
d4fad22
Update profiling instructions for raylet (#3311)
pcmoritz Nov 13, 2018
65c27c7
[rllib] Clean up agent resource configurations (#3296)
ericl Nov 14, 2018
9d4847a
[hot-fix] Fix error when calling Ray.init() twice. (#3314)
jovany-wang Nov 14, 2018
577c1dd
Release sender connections as soon as WriteMessageAsync completes (#3…
stephanie-wang Nov 14, 2018
1660c9d
Kill actor child processes on shutdown (#3297)
ericl Nov 14, 2018
57c7b42
KL Divergence Metrics (#3300)
andrewztan Nov 14, 2018
706dc1d
[rllib] Add test for multi-agent support and fix IMPALA multi-agent (…
ericl Nov 14, 2018
5319fd0
Update redis version in setup.py (#3333)
lewisbelcher Nov 15, 2018
b6a12d1
Fix socket retry message (#3325)
pcmoritz Nov 15, 2018
5723291
Raise exception if the node is nearly out of memory (#3323)
ericl Nov 15, 2018
1be1455
Fix redis crash when duplicate messages are appended to log. (#3316)
pcmoritz Nov 15, 2018
98edf75
Note requirement cython==0.27.3 in installation instructions. (#3322)
robertnishihara Nov 15, 2018
d10cb57
Rename _submit -> _remote. (#3321)
robertnishihara Nov 15, 2018
e0bf9d7
Add debug string to raylet (#3317)
ericl Nov 16, 2018
60b22d9
Don't unsubscribe dependencies for infeasible tasks. (#3338)
robertnishihara Nov 16, 2018
ab1e0f5
support home path and relative path for temp-dir (#3329)
Seventeen17 Nov 17, 2018
5cbc597
Suppress duplicate pre-emptive object pushes. (#3276)
robertnishihara Nov 17, 2018
61e3bbb
Update stale example links
ericl Nov 17, 2018
e4bb5d8
Fix logging when ray cluster utils is used
ericl Nov 19, 2018
d4dbd27
Don't retry IPC connect an absurd number of times (#3355)
ericl Nov 20, 2018
f2b5500
Add ordered_set container. (#3352)
robertnishihara Nov 20, 2018
afc48d7
Don't setpgid() on actors (#3347)
ericl Nov 20, 2018
5972c29
[rllib] Set ape-x local exploration to 0, also load explorations befo…
ericl Nov 20, 2018
abdc3b5
[rllib] Update multi-gpu impala numbers (#3327)
ericl Nov 20, 2018
b0bfd10
Batch heartbeats from node manager together in the monitor. (#3011)
ujvl Nov 20, 2018
d3697ce
Ready queue refactor to make Dispatching tasks more efficient (#3324)
pcmoritz Nov 20, 2018
c24d87b
[autoscaler] Submit command (#3312)
richardliaw Nov 20, 2018
686cf20
Remove uses of std::list::size (#3358)
ericl Nov 20, 2018
1a926c9
Fix $MACOSX_DEPLOYMENT_TARGET (#3337)
pcmoritz Nov 21, 2018
3e33f6f
Fix failure handling for actor death (#3359)
stephanie-wang Nov 21, 2018
784a639
[tune] Node Fault Tolerance (#3238)
richardliaw Nov 21, 2018
6b32363
Fix memory leak in lineage cache (#3366)
stephanie-wang Nov 22, 2018
24bfe8a
Enable Twin Delayed DDPG for RLlib DDPG agent (#3353)
joneswong Nov 22, 2018
b9ae5ed
When getting a role/profile, catch only exception that indicates the …
GiliR4t1qbit Nov 22, 2018
41b6b50
fix py3 (#3382)
ericl Nov 22, 2018
8b76bab
[rllib] docs for td3 (#3381)
ericl Nov 22, 2018
55fca82
[rllib] Fix use_lstm option when using custom model with dict space (…
ericl Nov 24, 2018
18a8dbf
[rllib] Clip DDPG ou-noise to avoid exceeding action bounds (#3386)
ericl Nov 24, 2018
3856533
Fix incompatibility with most recent version of Redis. (#3379)
robertnishihara Nov 25, 2018
b85e7b4
[rllib] Refactor the sampler (#3387)
ericl Nov 25, 2018
0f0099f
UI changes, fix the task timeline and add the object transfer timelin…
robertnishihara Nov 25, 2018
aa94d3d
[autoscaler] Allow more than 5s from node creation to first heartbeat…
ericl Nov 27, 2018
e3c088f
[rllib] PPO doesn't work with fractional num gpus (#3396)
ericl Nov 27, 2018
20b8b1d
Add script for running stress tests. (#3378)
robertnishihara Nov 27, 2018
0d56fc1
Move setproctitle to ray[debug] package (#3415)
ericl Nov 27, 2018
c2108ca
Don't put entire actor registry in debug string since it's too long (…
ericl Nov 28, 2018
f0df97d
[rllib] example and docs on how to use parametric actions with DQN / …
ericl Nov 28, 2018
82863b5
[autoscaler] Update autoscaler to use heartbeat batches. (#3409)
robertnishihara Nov 28, 2018
139fbf7
Initialize client_id_ in ObjectManager constructor that takes user-de…
xutianming Nov 28, 2018
c46ea2f
Click 0.7 changes the naming convention for commands; fix this
ericl Nov 28, 2018
7e319db
Automatically indent tune logger params (#3399)
hartikainen Nov 29, 2018
fd7e494
Remove: duplicate feed_dict constructing (#3431)
chunyang-wen Nov 29, 2018
48a5935
Fault tolerance for actor creation (#3422)
stephanie-wang Nov 29, 2018
4d2010a
Ship Modin with Ray. (#3109)
devin-petersohn Nov 29, 2018
07d8cbf
[rllib] Support batch norm layers (#3369)
ericl Nov 29, 2018
447604a
Use actor ID for the dummy object (#3437)
stephanie-wang Nov 30, 2018
454d3aa
[docs] Snippet did not have a code-block tag above it (#3442)
GiliR4t1qbit Dec 1, 2018
5751261
Update readme to contain logo (#3443)
devin-petersohn Dec 1, 2018
0603e0b
Bump version from 0.5.3 to 0.6.0. (#3420)
robertnishihara Dec 1, 2018
abd37df
Add stress test for Java worker (#3424)
raulchen Dec 2, 2018
c5b5cda
Upgrade Arrow to include Plasma TensorFlow Op release fix (#3448)
pcmoritz Dec 2, 2018
13c8ce4
Update README.rst with 0.6.0 version number. (#3453)
ericl Dec 2, 2018
4abafd7
Fix bug in ray.wait (#3445)
stephanie-wang Dec 2, 2018
7abfbfd
[rllib] Better error message for unsupported non-atari image observat…
ericl Dec 3, 2018
d820597
[rllib] Auto clip actions to Box space range; deprecate squash_to_ran…
ericl Dec 4, 2018
be6567e
Tweak/exec attach info (#3447)
hartikainen Dec 4, 2018
ce355d1
[rllib] Allow envs to be auto-registered; add on_train_result callbac…
ericl Dec 4, 2018
9d0bd50
[tune] Component notification on node failure + Tests (#3414)
richardliaw Dec 4, 2018
93a9d32
[docs] Switch docs to use rllib train instead of train.py
ericl Dec 5, 2018
06f6431
Make test_actor_multiple_gpus_from_multiple_tasks less stressful in t…
pcmoritz Dec 5, 2018
2e6f9be
Add the extra fallback for serialization (#3468)
suquark Dec 5, 2018
7a79b7f
increase container memory and shm to 20G (#3475)
shaneknapp Dec 5, 2018
d864f29
[rllib] fixes from dogfooding multi-agent (#3456)
ericl Dec 6, 2018
412aaa5
[tune] Deprecate ambiguous function values (use tune.function / tune.…
ericl Dec 6, 2018
b9e1977
Fix failure of test_free_objects_multi_node (#3481)
guoyuhong Dec 6, 2018
7a7c6e5
[tune/rllib] Use cloudpickle to dump config (#3462)
eugenevinitsky Dec 6, 2018
970babf
Removing the check about the size re: ray-project/ray#3450 (#3464)
devin-petersohn Dec 7, 2018
c2c501b
Experimental asyncio support (#2015)
suquark Dec 7, 2018
8395523
[rllib] Copy data before passing to Ape-X learner thread (fixes trans…
ericl Dec 7, 2018
f6490f9
Resolve no handlers could be found for logger 'ray.worker' when impor…
xutianming Dec 7, 2018
462e6ef
[rllib] Use smoothed version of collect metrics for DQN (#3491)
ericl Dec 8, 2018
8b5827b
[rllib] Better document which methods are abstract and which ones are…
ericl Dec 9, 2018
7aec357
[rllib] Multi-GPU support for Multi-Agent PPO (#3479)
ericl Dec 9, 2018
0136af5
Add return value for recontruction RPC. (#3493)
guoyuhong Dec 9, 2018
cffe8f9
Add option to evict keys LRU from the sharded redis tables (#3499)
ericl Dec 9, 2018
ce606a9
changed cmake to make it build correctly
eugenevinitsky Dec 9, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
BasedOnStyle: Chromium
ColumnLimit: 80
BasedOnStyle: Google
ColumnLimit: 90
DerivePointerAlignment: false
IndentCaseLabels: false
PointerAlignment: Right
SpaceAfterCStyleCast: true
18 changes: 3 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,17 @@
/python/build
/python/dist
/python/flatbuffers-1.7.1/
/src/common/thirdparty/redis
/src/thirdparty/arrow
/flatbuffers-1.7.1/
/src/thirdparty/boost/
/src/thirdparty/boost_1_65_1/
/src/thirdparty/boost_1_60_0/
/src/thirdparty/catapult/
/src/thirdparty/flatbuffers/
/src/thirdparty/parquet-cpp
/thirdparty/pkg/

# Files generated by flatc should be ignored
/src/common/format/*.py
/src/common/format/*_generated.h
/src/plasma/format/
/src/local_scheduler/format/*_generated.h
/src/ray/gcs/format/*_generated.h
/src/ray/object_manager/format/*_generated.h
/src/ray/raylet/format/*_generated.h

# Modin source files
/python/ray/modin

# Redis temporary files
*dump.rdb

Expand Down Expand Up @@ -54,9 +45,6 @@ python/.eggs
*.dylib
*.dll

# Cython-generated files
*.c

# Incremental linking files
*.ilk

Expand Down
116 changes: 28 additions & 88 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ matrix:
- sphinx-build -W -b html -d _build/doctrees source _build/html
- cd ..
# Run Python linting, ignore dict vs {} (C408), others are defaults
- flake8 --exclude=python/ray/core/src/common/flatbuffers_ep-prefix/,python/ray/core/generated/,src/common/format/,doc/source/conf.py,python/ray/cloudpickle/ --ignore=C408,E121,E123,E126,E226,E24,E704,W503,W504
- .travis/yapf.sh --all
- flake8 --exclude=python/ray/core/generated/,doc/source/conf.py,python/ray/cloudpickle/ --ignore=C408,E121,E123,E126,E226,E24,E704,W503,W504,W605
- .travis/format.sh --all

- os: linux
dist: trusty
Expand All @@ -69,16 +69,9 @@ matrix:

script:
- cd build
- bash ../src/common/test/run_valgrind.sh
- bash ../src/plasma/test/run_valgrind.sh
- bash ../src/local_scheduler/test/run_valgrind.sh
- bash ../src/ray/test/run_object_manager_valgrind.sh
- cd ..

- python ./python/ray/plasma/test/test.py valgrind
- python ./python/ray/local_scheduler/test/test.py valgrind
# - python ./python/ray/global_scheduler/test/test.py valgrind

# Build Linux wheels.
- os: linux
dist: trusty
Expand Down Expand Up @@ -107,63 +100,6 @@ matrix:
env:
- PYTHON=3.5
- RAY_USE_NEW_GCS=on
- RAY_USE_XRAY=1

- os: linux
dist: trusty
env: PYTHON=3.5 RAY_USE_XRAY=1
install:
- ./.travis/install-dependencies.sh
- export PATH="$HOME/miniconda/bin:$PATH"
- ./.travis/install-ray.sh
- ./.travis/install-cython-examples.sh
script:
- export PATH="$HOME/miniconda/bin:$PATH"
# The following is needed so cloudpickle can find some of the
# class definitions: The main module of tests that are run
# with pytest have the same name as the test file -- and this
# module is only found if the test directory is in the PYTHONPATH.
- export PYTHONPATH="$PYTHONPATH:./test/"

- python -m pytest -v python/ray/common/test/test.py
- python -m pytest -v python/ray/common/redis_module/runtest.py
- python -m pytest -v python/ray/plasma/test/test.py
# - python -m pytest -v python/ray/local_scheduler/test/test.py
# - python -m pytest -v python/ray/global_scheduler/test/test.py

- python -m pytest -v python/ray/test/test_global_state.py
- python -m pytest -v python/ray/test/test_queue.py
- python -m pytest -v test/xray_test.py

- python -m pytest -v test/runtest.py
- python -m pytest -v test/array_test.py
- python -m pytest -v test/actor_test.py
- python -m pytest -v test/autoscaler_test.py
- python -m pytest -v test/tensorflow_test.py
- python -m pytest -v test/failure_test.py
- python -m pytest -v test/microbenchmarks.py
- python -m pytest -v test/stress_tests.py
- pytest test/component_failures_test.py
- python test/multi_node_test.py
- python -m pytest -v test/recursion_test.py
- pytest test/monitor_test.py
- python -m pytest -v test/cython_test.py
- python -m pytest -v test/credis_test.py

# ray tune tests
- python python/ray/tune/test/dependency_test.py
- python -m pytest -v python/ray/tune/test/trial_runner_test.py
- python -m pytest -v python/ray/tune/test/trial_scheduler_test.py
- python -m pytest -v python/ray/tune/test/experiment_test.py
- python -m pytest -v python/ray/tune/test/tune_server_test.py
- python -m pytest -v python/ray/tune/test/ray_trial_executor_test.py
- python -m pytest -v python/ray/tune/test/automl_searcher_test.py

# ray rllib tests
- python -m pytest -v python/ray/rllib/test/test_catalog.py
- python -m pytest -v python/ray/rllib/test/test_filters.py
- python -m pytest -v python/ray/rllib/test/test_optimizers.py
- python -m pytest -v python/ray/rllib/test/test_evaluators.py


install:
Expand All @@ -181,12 +117,10 @@ install:
- ./src/ray/raylet/lineage_cache_test
- ./src/ray/raylet/task_dependency_manager_test
- ./src/ray/raylet/reconstruction_policy_test
- ./src/ray/raylet/client_connection_test
- ./src/ray/util/logging_test --gtest_filter=PrintLogTest*
- ./src/ray/util/signal_test

- bash ../src/common/test/run_tests.sh
- bash ../src/plasma/test/run_tests.sh
- bash ../src/local_scheduler/test/run_tests.sh
- cd ..

script:
Expand All @@ -197,14 +131,27 @@ script:
# module is only found if the test directory is in the PYTHONPATH.
- export PYTHONPATH="$PYTHONPATH:./test/"

- python -m pytest -v python/ray/common/test/test.py
- python -m pytest -v python/ray/common/redis_module/runtest.py
- python -m pytest -v python/ray/plasma/test/test.py
- python -m pytest -v python/ray/local_scheduler/test/test.py
- python -m pytest -v python/ray/global_scheduler/test/test.py
# ray tune tests
- python python/ray/tune/test/dependency_test.py
- python -m pytest -v python/ray/tune/test/trial_runner_test.py
- python -m pytest -v python/ray/tune/test/trial_scheduler_test.py
- python -m pytest -v python/ray/tune/test/experiment_test.py
- python -m pytest -v python/ray/tune/test/tune_server_test.py
- python -m pytest -v python/ray/tune/test/ray_trial_executor_test.py
- python -m pytest -v python/ray/tune/test/automl_searcher_test.py

# ray rllib tests
- python -m pytest -v python/ray/rllib/test/test_catalog.py
- python -m pytest -v python/ray/rllib/test/test_filters.py
- python -m pytest -v python/ray/rllib/test/test_optimizers.py
- python -m pytest -v python/ray/rllib/test/test_evaluators.py

# Python3.5+ only. Otherwise we will get `SyntaxError` regardless of how we set the tester.
- python -c 'import sys;exit(sys.version_info>=(3,5))' || python -m pytest -v python/ray/experimental/test/async_test.py

- python -m pytest -v python/ray/test/test_global_state.py
- python -m pytest -v python/ray/test/test_queue.py
- python -m pytest -v python/ray/test/test_ray_init.py
- python -m pytest -v test/xray_test.py

- python -m pytest -v test/runtest.py
Expand All @@ -216,26 +163,19 @@ script:
- python -m pytest -v test/microbenchmarks.py
- python -m pytest -v test/stress_tests.py
- python -m pytest -v test/component_failures_test.py
- python test/multi_node_test.py
- python -m pytest -v test/multi_node_test.py
- python -m pytest -v test/multi_node_test_2.py
- python -m pytest -v test/recursion_test.py
- python -m pytest -v test/monitor_test.py
- python -m pytest -v test/cython_test.py
- python -m pytest -v test/credis_test.py
- python -m pytest -v test/node_manager_test.py

# ray tune tests
- python python/ray/tune/test/dependency_test.py
- python -m pytest -v python/ray/tune/test/trial_runner_test.py
- python -m pytest -v python/ray/tune/test/trial_scheduler_test.py
- python -m pytest -v python/ray/tune/test/experiment_test.py
- python -m pytest -v python/ray/tune/test/tune_server_test.py
- python -m pytest -v python/ray/tune/test/ray_trial_executor_test.py
- python -m pytest -v python/ray/tune/test/automl_searcher_test.py
# ray temp file tests
- python -m pytest -v test/tempfile_test.py

# ray rllib tests
- python -m pytest -v python/ray/rllib/test/test_catalog.py
- python -m pytest -v python/ray/rllib/test/test_filters.py
- python -m pytest -v python/ray/rllib/test/test_optimizers.py
- python -m pytest -v python/ray/rllib/test/test_evaluators.py
# modin test files
- python python/ray/test/test_modin.py

deploy:
- provider: s3
Expand Down
15 changes: 14 additions & 1 deletion .travis/yapf.sh → .travis/format.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/usr/bin/env bash
# YAPF + Clang formatter (if installed). This script formats all changed files from the last mergebase.
# You are encouraged to run this locally before pushing changes for review.

# Cause the script to exit if a single command fails
set -eo pipefail
Expand Down Expand Up @@ -28,7 +30,6 @@ YAPF_EXCLUDES=(
'--exclude' 'python/build/*'
'--exclude' 'python/ray/pyarrow_files/*'
'--exclude' 'python/ray/core/src/ray/gcs/*'
'--exclude' 'python/ray/common/thirdparty/*'
)

# Format specified files
Expand All @@ -50,6 +51,18 @@ format_changed() {
if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.py' &>/dev/null; then
git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' | xargs -P 5 \
yapf --in-place "${YAPF_EXCLUDES[@]}" "${YAPF_FLAGS[@]}"
if which flake8 >/dev/null; then
git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.py' | xargs -P 5 \
flake8 --exclude=python/ray/core/generated/,doc/source/conf.py,python/ray/cloudpickle/ \
--ignore=C408,E121,E123,E126,E226,E24,E704,W503,W504,W605
fi
fi

if which clang-format >/dev/null; then
if ! git diff --diff-filter=ACM --quiet --exit-code "$MERGEBASE" -- '*.cc' '*.h' &>/dev/null; then
git diff --name-only --diff-filter=ACM "$MERGEBASE" -- '*.cc' '*.h' | xargs -P 5 \
clang-format -i
fi
fi
}

Expand Down
16 changes: 8 additions & 8 deletions .travis/install-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ if [[ "$PYTHON" == "2.7" ]] && [[ "$platform" == "linux" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-4.5.4-Linux-x86_64.sh -O miniconda.sh -nv
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.22 requests \
feather-format lxml openpyxl xlrd
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.23.4 requests \
feather-format lxml openpyxl xlrd py-spy setproctitle faulthandler pytest-timeout mock
elif [[ "$PYTHON" == "3.5" ]] && [[ "$platform" == "linux" ]]; then
sudo apt-get update
sudo apt-get install -y cmake pkg-config python-dev python-numpy build-essential autoconf curl libtool unzip
# Install miniconda.
wget https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh -O miniconda.sh -nv
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.22 requests \
feather-format lxml openpyxl xlrd
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.23.4 requests \
feather-format lxml openpyxl xlrd py-spy setproctitle pytest-timeout
elif [[ "$PYTHON" == "2.7" ]] && [[ "$platform" == "macosx" ]]; then
# check that brew is installed
which -s brew
Expand All @@ -50,8 +50,8 @@ elif [[ "$PYTHON" == "2.7" ]] && [[ "$platform" == "macosx" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-4.5.4-MacOSX-x86_64.sh -O miniconda.sh -nv
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.22 requests \
feather-format lxml openpyxl xlrd
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.23.4 requests \
feather-format lxml openpyxl xlrd py-spy setproctitle faulthandler pytest-timeout mock
elif [[ "$PYTHON" == "3.5" ]] && [[ "$platform" == "macosx" ]]; then
# check that brew is installed
which -s brew
Expand All @@ -67,8 +67,8 @@ elif [[ "$PYTHON" == "3.5" ]] && [[ "$platform" == "macosx" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda3-4.5.4-MacOSX-x86_64.sh -O miniconda.sh -nv
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.22 requests \
feather-format lxml openpyxl xlrd
pip install -q cython==0.27.3 cmake tensorflow gym opencv-python pyyaml pandas==0.23.4 requests \
feather-format lxml openpyxl xlrd py-spy setproctitle pytest-timeout
elif [[ "$LINT" == "1" ]]; then
sudo apt-get update
sudo apt-get install -y cmake build-essential autoconf curl libtool unzip
Expand Down
12 changes: 7 additions & 5 deletions .travis/test-wheels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,23 +56,25 @@ if [[ "$platform" == "linux" ]]; then

# Check that the other wheels are present.
NUMBER_OF_WHEELS=$(ls -1q $ROOT_DIR/../.whl/*.whl | wc -l)
if [[ "$NUMBER_OF_WHEELS" != "4" ]]; then
if [[ "$NUMBER_OF_WHEELS" != "5" ]]; then
echo "Wrong number of wheels found."
ls -l $ROOT_DIR/../.whl/
exit 1
exit 2
fi

elif [[ "$platform" == "macosx" ]]; then
MACPYTHON_PY_PREFIX=/Library/Frameworks/Python.framework/Versions
PY_MMS=("2.7"
"3.4"
"3.5"
"3.6")
"3.6"
"3.7")
# This array is just used to find the right wheel.
PY_WHEEL_VERSIONS=("27"
"34"
"35"
"36")
"36"
"37")

for ((i=0; i<${#PY_MMS[@]}; ++i)); do
PY_MM=${PY_MMS[i]}
Expand All @@ -92,5 +94,5 @@ elif [[ "$platform" == "macosx" ]]; then
done
else
echo "Unrecognized environment."
exit 1
exit 3
fi
24 changes: 11 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,15 @@ include_directories(SYSTEM ${PLASMA_INCLUDE_DIR})
include_directories("${CMAKE_CURRENT_LIST_DIR}/src/")

add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/ray/)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/common/)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/plasma/)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/local_scheduler/)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/global_scheduler/)

# final target copy_ray
add_custom_target(copy_ray ALL)

# copy plasma_store_server
add_custom_command(TARGET copy_ray POST_BUILD
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/src/plasma
COMMAND ${CMAKE_COMMAND} -E
copy ${ARROW_HOME}/bin/plasma_store_server ${CMAKE_CURRENT_BINARY_DIR}/src/plasma)
copy ${ARROW_HOME}/bin/plasma_store_server ${CMAKE_CURRENT_BINARY_DIR}/src/plasma/)

if ("${CMAKE_RAY_LANG_PYTHON}" STREQUAL "YES")
# add pyarrow as the dependency
Expand All @@ -102,12 +99,9 @@ if ("${CMAKE_RAY_LANG_PYTHON}" STREQUAL "YES")
# NOTE: The lists below must be kept in sync with ray/python/setup.py.

set(ray_file_list
"src/common/thirdparty/redis/src/redis-server"
"src/common/redis_module/libray_redis_module.so"
"src/plasma/plasma_manager"
"src/local_scheduler/local_scheduler"
"src/local_scheduler/liblocal_scheduler_library_python.so"
"src/global_scheduler/global_scheduler"
"src/ray/thirdparty/redis/src/redis-server"
"src/ray/gcs/redis_module/libray_redis_module.so"
"src/ray/raylet/liblocal_scheduler_library_python.so"
"src/ray/raylet/raylet_monitor"
"src/ray/raylet/raylet")

Expand All @@ -117,7 +111,10 @@ if ("${CMAKE_RAY_LANG_PYTHON}" STREQUAL "YES")
list(APPEND ray_file_list "src/credis/redis/src/redis-server")
endif()

if (DEFINED ENV{INCLUDE_UI} AND "$ENV{INCLUDE_UI}" STREQUAL "1")
# The goal of the if statement below is to require the catapult files to be
# present INCLUDE_UI=1 is set and to include the UI files if they are present.
# This should match the logic in build_ui.sh.
if (EXISTS "${CMAKE_BINARY_DIR}/src/catapult_files/index.html" OR "$ENV{INCLUDE_UI}" STREQUAL "1")
list(APPEND ray_file_list "src/catapult_files/index.html")
list(APPEND ray_file_list "src/catapult_files/trace_viewer_full.html")
endif()
Expand Down Expand Up @@ -154,5 +151,6 @@ if ("${CMAKE_RAY_LANG_JAVA}" STREQUAL "YES")

# copy libplasma_java files
add_custom_command(TARGET copy_ray POST_BUILD
COMMAND bash -c "cp ${ARROW_LIBRARY_DIR}/libplasma_java.* ${CMAKE_CURRENT_BINARY_DIR}/src/plasma")
COMMAND bash -c "mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/src/plasma"
COMMAND bash -c "cp ${ARROW_LIBRARY_DIR}/libplasma_java.* ${CMAKE_CURRENT_BINARY_DIR}/src/plasma/")
endif()
Loading