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

Pull rsp rebase #122

Closed
wants to merge 16 commits into from
Closed

Pull rsp rebase #122

wants to merge 16 commits into from

Conversation

eric-haibin-lin
Copy link
Owner

@eric-haibin-lin eric-haibin-lin commented Jul 11, 2017

Opening this PR for interface review:

  • Added row_sparse_pull python API to kvstore and c_api, which requires providing row_id for each row_sparse value to pull. The row_ids are sorted to contain only unique elements. The old pull API will not accept pulling a row_sparse value stored
  • Added sparse_pull_dict param to module so that user can specify the subset of rows to pull for next batch during training
  • Added kRowSparsePushPull type to kvstore server. When received data request of this type, keys are encoded as key, row_id1, row_id2 ... row_idn.
  • Added temporary support for SparseNDArray inplace add/mul/div/sub by making an extra copy in frontend explicitly
  • Regression example using row_sparse_pull: https://github.com/eric-haibin-lin/benchmark/blob/sparse/mx/sparse_regression.py#L168

Note:

TODOs for next PR:

  • row_ids aggregation for multi-device row_sparse_pull in dist-kvstore
  • lazy initialization for large weights

fix bug in rsp add

rsp sync push

race condition for push

fix bug in rsp pull. refactor test

cleanup comments

refactor dist server

fix lint

fix storage shape issue with the new ndarray constructor
sparse pull c_api

revise rowsparse pull api

use engine to compute unique to ensure thread safety

add rowsparse pull to dist-kv
* update kvstore unit test

* update model/module.py

* fix lint

* remove int keys in kvstore

* update cast to str function

* remove _cast_to_str_keys

* fix lint

* always cast to str

Conflicts:
	include/mxnet/c_api.h
	include/mxnet/kvstore.h
	python/mxnet/kvstore.py
	python/mxnet/model.py
	python/mxnet/module/module.py
	src/c_api/c_api.cc
	src/kvstore/kvstore_local.h
	tests/python/unittest/test_kvstore.py
eric-haibin-lin pushed a commit that referenced this pull request Apr 4, 2018
* Handling duplicate NodeEntries on the edge of the graph

* Fix docs and segfault

* Suggestions from review

* Added attr_parser check
eric-haibin-lin pushed a commit that referenced this pull request Dec 9, 2019
* tf: enable async training

* tf: quick fix

* tf: override minimize()

* tf: fix args

* tf: reformat and fix GATE_OP

* tf: improve comment

* docs: update readme

* tf: fix get gradient

* tf: fix sync train

* tf: attempt to fix sync train

* tf: add dependency control

* tf: nit

* tf: use dump_op

* tf: quick fix

* tf: quick fix

* tf: use group

* docs: add async env

* tf: improvement on override

* tf: avoid override minimize()

* tf: quick fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant