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

[test] Sparse mega pr #168

Merged
merged 66 commits into from
Aug 16, 2017
Merged

[test] Sparse mega pr #168

merged 66 commits into from
Aug 16, 2017

Commits on Jul 25, 2017

  1. [WIP] Sparse Tensor (apache#5800)

    * squash
    
    merge with 38f7c55
    
    compiles on GPU
    
    update check alloc:
    
    Checkpoint. Pass elem-sum gpu test
    
    bug fix for copyfromto. sparse sgd test pass on gpu
    
    inefficient implementation for csr copy
    
    update submodule
    
    fix lint
    
    Simple bind with infer storage type (#32)
    
    * Symbol binding for sparse tensor development. (#31)
    
    * Initial checkin
    
    * Add init functions for simple bind in graph_executor
    
    * Add simple_bind c_api
    
    * Add simple bind c-api
    
    * Assign zeros to in_args, arg_grads, and aux_states
    
    * Add simple_bind2 python interface
    
    * Fix python interface bugs
    
    * Interface changes
    
    * Fix
    
    * Fix core dump
    
    * Add bind_ith_exec c_api
    
    * Change simple_bind2
    
    * Fix seg fault
    
    * Finish simple_bind
    
    * Change _bind_ith_exec
    
    * Refactor simple_bind initialization flow for bind
    
    * Consolidate bind and simple_bind graph init flow
    
    * Fix bug
    
    * Clean up
    
    * Add comments
    
    * Clean up
    
    * Clean up
    
    * Minor correction
    
    * Rename APIs in graph executor
    
    * Refactor
    
    * Rebase
    
    * Delete deprecated functions
    
    * Move more front-end work to backend
    
    * Bug fix
    
    * Fix failed tests
    
    * Minor fix
    
    * Fix lint
    
    * Fix lint
    
    * Revert unnecessary changes
    
    * Revert
    
    * Revert
    
    * Clean up
    
    * Fix lint
    
    Conflicts:
    	python/mxnet/symbol.py
    	src/executor/graph_executor.cc
    
    * Add inferstorage to graph executor
    
    * re-enable tests for sparse embedding with simple_bind
    
    * type switch fix in sparse embedding"
    ;
    
    change `default` to `default_storage` for cast storage op (#33)
    
    * change default to default_storage
    
    * disable cpp test build temporarily
    
    attempt to fix windows build error, and fix lint (#34)
    
    update nnvm submodule (#37)
    
    Scipy build (#38)
    
    * update nnvm submodule
    
    * add scipy pip install for dockerfile
    
    Python3 unit tests (#39)
    
    * change xrange to range for python3 compatiblity"
    
    * remove more xrange from tests
    
    replace long with int for python3 (#40)
    
    fix the rest of TShape constructor errors (#41)
    
    fix lint (#42)
    
    fix wrong usage of mshadow::Shape1" (#43)
    
    implementation for Csr slice on cpu (#36)
    
    * CPU implementation for CSR
    
    remove seg_len from csr slice
    
    add some docs for slice csr
    
    change indptr, values, etc to be private member
    
    bug fix in sparse embedding
    
    update nnvm submoduel
    
    fix lint
    
    update unit test for sparse nd"
    
    * add const for SliceCsrIndPtr kernel
    
    Fix sparse dot according to the new RSP definition (#35)
    
    * Fix csr dot dns
    
    * Fix sparse dot
    
    * Add fallback and test cases for dot(csr, dns)=dns
    
    * Add int type switch
    
    * Fix
    
    * Fix
    
    * Fix
    
    update mshadow submodule (#44)
    
    Fix dns to rsp (#46)
    
    fix lint (#47)
    
    add runtime storage fallback detection" (#48)
    
    * add runtime storage fallback detection"
    
    * replace cast storage ex with cast storage impl
    
    Fm example (#45)
    
    * update csr slice logic to avoid confusion. add more exmaples.
    
    * add hint to module.update
    
    * more testcases(fallback) for sparse_nd
    
    * add to_csr() and to_rsp() method. More unit test (fallback now)
    
    * add fm test. fix lint
    
    * register sparse sgd under Optim.SGD
    
    * update dmlc-core submoduel
    
    * change indptr to _indptr temporarily. add const ref to fname
    
    fix lint
    
    fix lint; (#51)
    
    Guard gpu cast storage (#50)
    
    * Clean up
    
    * Fix typo
    
    Rearrange unit test files (#52)
    
    fix lint. add scipy for python_test. fix scipy.sparse import error. fix truediv for python3
    
    fix travis test (#54)
    
    * remove pyc files
    
    * add verbose for travis nosetests
    
    cleanup some testing code and enums (#57)
    
    * update Makefile
    
    * refactor test_sparse_operator
    
    * change `default_storage` back to `default`
    
    * remove unused cpp tests
    
    port libsvm parser to mxnet as libsvm iter (#55)
    
    * copied csv iter to libsvm iter
    
    test
    
    libsvm iter draft
    
    handle round batch == false for csr batch loader
    
    code refactoring
    
    add get stype, shape interface to iiter
    
    separate class for sparse iter
    
    add missing file
    
    fix mem corruption'
    
    rename variables
    
    add comments
    
    also read label from libsvm
    
    add test. update docs. update submodule
    
    Conflicts:
    	python/mxnet/sparse_ndarray.py
    
    * update submodule
    
    * fix lint
    
    * update test
    
    * revert naming change
    
    add benchmark scritp for dot (#59)
    
    * add benchmark scritp for dot
    
    add gpu option for bench
    
    add get_data funciton for benchmark
    
    print t_sparse, too;
    
    add comment
    
    change nnz to dnesity
    
    add backward
    
    * add comment
    
    update fm test (#62)
    
    introduce CSRNDarray and rowsparseNDarray to python frontend api (#58)
    
    * introduce CSRNDarray and rowsparseNDarray to python frontend api
    
    * temporarily disable fm_module test
    
    fix lint (#64)
    
    fix typo. disable libsvm io test (#65)
    
    Improve dot (#61)
    
    * Init checkin
    
    * Fix
    
    * Adjust dot parallelization methods
    
    * Set num_omp_threads for benchmark from command line
    
    * Fix omp thread number
    
    * Clean up
    
    * Add scipy as dot baseline
    
    * Fix format
    
    sparse_retain op (#66)
    
    * Initial checkin
    
    * Fix bugs
    
    * Add unit test for sparse_retain
    
    * Add example and modify test
    
    add storage cast for outputs that have non-default storage (#67)
    
    fix gpu build (#69)
    
    Fix test_sparse_retain python3 issue (#68)
    
    revert nnvm version
    
    * draft for sgd rsp rsp (#75)
    
    support sgd(rsp, rsp)
    
    support dot(csr, rsp) when rsp is full
    
    add ref to const ndarray params
    
    support sparse embedding with rsp weight'
    
    fix lint
    
    modify embedding backward to produce dense grad
    
    remove invalid_rid for rsp->dns
    
    remove previous embedding op changes
    
    pass sparse embedding test
    
    add STORAGE_TYPE_ASSIGN_CHECK
    
    remove backward storage infer
    
    * fix lint (#78)
    
    * fix lint (#79)
    
    * serial elemwise sum impl (#80)
    
    update module kvstore interface
    
    add other missing params and functions
    
    revert some interface changes
    
    revert some more changes
    
    reomve explicit casting for gradients on kvstore
    
    update Comm interface
    
    update fm example
    
    Conflicts:
    	python/mxnet/model.py
    	python/mxnet/ndarray.py
    
    * bug fix for initializing module with row_sparse weight (#81)
    
    * bug fix for initializing module with row_sparse weight
    
    * update log message
    
    * Sparse ndarray serialization and deserialization (#77)
    
    * Initial checkin
    
    * Add unit tests
    
    * Fix lint
    
    * Fix lint (#84)
    
    * Sgd with row_sparse weight, dns gradient (#83)
    
    * sgd rsp dns draft
    
    * support sgd_mom(rsp, dns, rsp)
    
    * update doc
    
    * remove cast storage for kv updater
    
    * code refactoring
    
    * update mshadow version (#88)
    
    * csr slice bug fix (#90)
    
    * benchmark dot code refactor (#87)
    
    * q^x6x add some code in benchmark
    
    * refactor
    
    * minor fixes
    
    * fix
    
    * lint fix
    
    * Add unit test (#91)
    
    * add unittest
    
    * minor fix
    
    * remove commented lines
    
    * change test func name
    
    * add test rsp
    
    * kvstore push row sparse (#93)
    
    * Add multi-thread cpu elemwise sum for rsps
    
    * Minor fix
    
    * Add flag to switch between serial and multi-thread kvstore push
    
    * Fix lint in sparse_ndarray.py
    
    * Revert "Fix lint in sparse_ndarray.py"
    
    This reverts commit d7225ec.
    
    * Fix ndarray init in copy(ctx)
    
    * Add env var to control the flow of serial/parallel reduce
    
    * Refactor
    
    * Fix copy ndarray bug
    
    * Fix lint
    
    * Refactor
    
    * Fix windows openmp build failure (#94)
    
    * update mshadow submoduel (#95)
    
    * Revert "update mshadow submoduel (#95)" (#96)
    
    This reverts commit 1a129e4.
    
    * Refactor sparse tensor code (#99)
    
    * Initial checkin test_sparse_ndarray passes
    
    * Fix test failure
    
    * Clean up
    
    * Clean up
    
    * Move init backend op to ndarray_utils
    
    * Fix lint
    
    * Eliminate circular dependency on headers
    
    * More refactor
    
    * Fix gpu build and consolidate Slice for dense and sparse
    
    * Clean up
    
    * More refactor
    
    * Clean up
    
    * Fix gpu build
    
    * Fix comment
    
    * fix pylint (#100)
    
    * Fix refactor sparse gpu test (#104)
    
    * Fix gpu build
    
    * Fix
    
    * Fix gpu test failure
    
    * change idx types from int32 to int64 (#101)
    
    Conflicts:
    	python/mxnet/test_utils.py
    	tests/python/unittest/test_sparse_operator.py
    
    update mshadow submodule
    
    fix extra quotes in test script
    
    change indptr type to int64
    
    better err message for rsp"
    
    * revert LOG(DEBUG) change (#105)
    
    * fix undefined zeros in optimizer.py (#106)
    
    * move init dns zeros to init_op.h for kvstore to use (#107)
    
    * Refactor cast storage (#109)
    
    * Refactor cast_storage
    
    * Add cast_storage cc and cu files
    
    * Remove redundant comments
    
    * Replace std::accumulate with ParallelAccumulate
    
    * Clean up
    
    * Fix windows build
    
    * Rowsparse kv (#111)
    
    * update kvstore unit test
    
    Conflicts:
    	tests/python/unittest/test_kvstore.py
    
    update model/module.py
    
    Conflicts:
    	python/mxnet/model.py
    	python/mxnet/module/module.py
    
    fix lint
    
    resolve conflict
    
    remove int keys in kvstore
    
    update cast to str function
    
    * fix failed dist_sync_kv test
    
    * bug fix in comm to ensure merged gradient is of the right type
    
    bug fix in comm
    
    * row sparse dist kvstore draft (push only)
    
    row_sparse pull
    
    * add ndarray row sparse shared mem constructor
    
    * code refactoring
    
    * add test for row_sparse weight
    
    bug fix for kv server slicing
    
    add async support
    
    rsolve race condition in kvstore
    
    * resolve error after reb ase
    
    * fix lint (#113)
    
    * rename some python funciton (#114)
    
    * _to_rsp
    
    * _to_csr. raise NotImplementedError
    
    * todense
    
    * fix lint (#115)
    
    enable libsvm uniit test (apache#6839)
    
    remove shared mem slice for csr
    
    add csr ndarray iter test
    
    make osx nose test verbose
    
    disable libsvm iter test
    
    Move InferAttr to mxnet from nnvm (apache#6830)
    
    * Move InferAttr to mxnet from nnvm
    
    Replace nnvm infer attr functions in c_api
    
    Initial checkin
    
    Clean up
    
    Remove nnvm namespace for FInferShape, FInferType, and FInferStorageType
    
    Add new interface for InferStorageType
    
    Revert "Remove nnvm namespace for FInferShape, FInferType, and FInferStorageType"
    
    This reverts commit 8aedf05.
    
    Fix and clean up
    
    Fix lint
    
    Add nnvm changes
    
    Change infer function interface to accept only rvalue reference of graph
    
    Clean up
    
    Flush commits to show up in PR
    
    Add error handling for storage type inference failure
    
    Update nnvm
    
    * Fix pylint
    
    Change idx type switch for aux data (apache#6860)
    
    * Change idx type switch for aux data
    
    * Add mshadow commit
    
    Sparse dot enhancement (apache#6842)
    
    * Initial checkin
    
    Initial checkin
    
    Fix sparse dot test
    
    Fix unitest and add fallback for sparse dot
    
    * Add benchmark code
    
    * Revert "Add benchmark code"
    
    This reverts commit be009fe.
    
    * Fix bug
    
    * Fix storage shape
    
    * Remove unnecessary test code
    
    * Use idx type switch
    
    Implement dot(csr, rsp)=dns and dot(csr.T, rsp)=rsp and refactor (apache#6902)
    
    * Initial checkin
    
    Add dot(csr.T, rsp)=rsp2
    
    Add infer storage for dot(csr, rsp)=dns and dot(csr.T, rsp)=rsp2
    
    * Fix comments
    
    * Replace std::lower_bound with own impl for gpu use too
    
    * Add time profiling
    
    * Revert "Add time profiling"
    
    This reverts commit 8f5bb98.
    
    * Move dot and batch_dot to a single file
    
    * Move dot gpu impl to a .cuh file
    
    * More refactor
    
    * Fix include error
    
    LibsvmIter fix (apache#6898)
    
    * fix bug in libsvm iter which causes mem corruption
    
    * add test for news dataset
    
    * fix wrong path in test
    
    * fix import error for urllib
    
    * update url
    
    * replace bz command with bz module
    
    Optimized gpu dot kernels (apache#6937)
    
    * pulled update to mshadow
    
    * mshadow update
    
    * added optimized gpu kernels for dot(csr,dns)=dns and dot(csr.T,dns)=dns, and unit test
    
    * added __syncwarp to vector kernel and reduced number of writes to shared memory
    
    Refactor sparse tensor code (apache#6955)
    
    * Save stype in frontend to avoid c-api call for stype
    
    * Change storage_type to stype
    
    * Revert "Change storage_type to stype"
    
    This reverts commit 90db7d1.
    
    * Revert "Revert "Change storage_type to stype""
    
    This reverts commit 0932838.
    
    Move ndarray.py, sparse_ndarray.py, ndarray_utils.py, and _ndarray_internal to ndarrary folder
    
    More refactor
    
    Move elementwise sum for rsp to ndarray_function.cc
    
    Remove unnecessary import in ndarray module
    
    Fix pylint
    
    Remove redundant code
    
    Remove _stype from slots
    
    Fix cpp-package build error caused by the change to imperative invoke interface
    
    Use relative import
    
    Remove print line
    
    Rename _ndarray_internal.py to _internal.py
    
    * Relaunch test...
    
    minor bug fix in warp synchronous code (apache#7029)
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    c5f6648 View commit details
    Browse the repository at this point in the history
  2. move storage type vector from nnvm to mxnet (apache#7054)

    * move storage type vector from nnvm to mxnet
    
    * update nnvm
    
    * update nnvm
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    db65770 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2607da View commit details
    Browse the repository at this point in the history
  4. Improve copy sparse tensors (apache#7003)

    * Use cast_storage when copying ndarrays of different stypes on same context
    
    * Relaunch test
    reminisce authored and eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    978748e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce0fec8 View commit details
    Browse the repository at this point in the history
  6. fix lint

    fix lint
    
    fix lint
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    a2b3d3e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    27c9ac0 View commit details
    Browse the repository at this point in the history
  8. fix ndarray namespace

    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    3a394ea View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    cf61a9e View commit details
    Browse the repository at this point in the history
  10. remove untested gpu operators (apache#7172)

    * skip sparse dot gpu tset. add sparse_nd_zeros gpu test
    
    * remove sparse_retain gpu
    
    Conflicts:
    	tests/python/gpu/test_operator_gpu.py
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    fe62976 View commit details
    Browse the repository at this point in the history
  11. Fix ndarray aux data issue (apache#7098)

    * Fix getting sparse ndarray data/aux_data issues
    
    * Add tests for func csr and row_sparse
    
    * Make get/set data/aux_data thread safe
    
    * Fix a bug
    
    * Fix typo and comment
    
    * More comments
    
    * Correct comment
    
    Conflicts:
    	tests/python/gpu/test_operator_gpu.py
    reminisce authored and eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    4de0fdd View commit details
    Browse the repository at this point in the history
  12. Support K-dimensional row-sparse tensor (apache#7179)

    * remove check for k dimensional rowsparse tensor
    
    * change var name for rsp sgd operator
    
    * add checks for sparse dot
    
    * bug fix for kdim rowsparse cast storage cpu
    
    * update IdentityLikeRhsComputeEx interface
    
    * remove set_storage_shape from ndarray. support elemwise_add with kdim row_sparse tensor
    
    * use get_with_shape instead of reshape
    
    * update according to comments
    
    Conflicts:
    	src/operator/tensor/elemwise_unary_op.h
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    a472b61 View commit details
    Browse the repository at this point in the history
  13. Improve sparse ndarray error message (apache#7181)

    * add test for broadcast_to
    
    * add comments
    
    Conflicts:
    	python/mxnet/base.py
    eric-haibin-lin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    6a01b6e View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2017

  1. construct row_sparse ndarray for dist-async

    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
    
    data sharding draft;
    
    fix lint. add comment
    
    add support for zeros gradients
    
    use std::upper_bound/lower_bound
    
    remove special init function for rowsparse dist kvstore
    
    temporary support for inplace operators for sparse
    
    add test. fix return type
    
    store kRowSparseNDArray in kv server
    
    remove fcomp_ex sgd with dns weight and rsp gradient
    
    bug fix in sparse retain
    
    sparse pull c_api
    
    revise rowsparse pull api
    
    use engine to compute unique to ensure thread safety
    
    add rowsparse pull to dist-kv
    
    fix lint
    
    add example for rsp_pull
    
    remove name2idx;
    
    add sparse_pull_dict param to module
    
    fix unit test and  c rowid conversion
    
    support str key type in kvstore (apache#6765)
    
    * 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
    
    update module API for other submodules
    
    update stypes in kvstore after refactoring
    
    change type of size from size_t to int64_t
    
    add sparse linear regression example
    
    remove sparse_pull_dict from module
    
    fix init_optim for seq_module. update sparse example
    
    resolve conflict for binary add rsp rsp
    
    Conflicts:
    	python/mxnet/kvstore.py
    	tests/python/unittest/test_kvstore.py
    eric-haibin-lin committed Jul 26, 2017
    Configuration menu
    Copy the full SHA
    05ddf38 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f57fc3c View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2017

  1. Configuration menu
    Copy the full SHA
    0ed14d1 View commit details
    Browse the repository at this point in the history
  2. GPU implementation of cast_storage (dense to csr) (apache#7081)

    * Added gpu implementation for cast_storage dense to csr, unit tests, and benchmark. Additionally, cast_storage interface change to accommodate the need of temporary storage in cuda kernels.
    
    * fixed whitespace
    
    * minor unittest update
    
    * removed whitespace
    
    * add cast storage benchmark params info
    
    Conflicts:
    	tests/python/gpu/test_operator_gpu.py
    stefanhenneking authored and eric-haibin-lin committed Jul 27, 2017
    Configuration menu
    Copy the full SHA
    f0af872 View commit details
    Browse the repository at this point in the history
  3. Sparse square sum (apache#7206)

    * Add square_sum op
    
    * Add unit test and fix check_numeric_gradient
    
    * Add .cu file and example
    
    * Fix lint
    
    * Remove gpu registration
    
    * Use square_sum in test_module_fm
    reminisce authored and eric-haibin-lin committed Jul 27, 2017
    Configuration menu
    Copy the full SHA
    6f0719f View commit details
    Browse the repository at this point in the history
  4. Modify and Add documentation for mx.nd.zeros (apache#7197)

    * Modify and Add documentation for mx.nd.zeros
    
    * Change context to cpu
    
    * Change stype to optional
    
    * Change ordering and remove optional for _zeros_sparse_ndarray
    anirudh2290 authored and eric-haibin-lin committed Jul 27, 2017
    Configuration menu
    Copy the full SHA
    ec2c4bf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    88eaac6 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2017

  1. Expose kWriteInplace for imperative execution (fcompute_ex and fstate…

    …fulcompute_ex) (#133)
    
    * expose kWriteInplace to FComputeEx and FStatefulComputeEx
    
    * refactor ccode
    
    * remove duplicated test
    eric-haibin-lin committed Jul 28, 2017
    Configuration menu
    Copy the full SHA
    3b94a3c View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2017

  1. Operator add_n for row sparse ndarrays (apache#7244)

    * Add add_n op for row-sparse ndarrays and identity FComputeEx
    
    * Fix bug in square_sum
    
    * Remove test_cast_storage_ex from gpu test since it's not implemented yet
    
    * Fix according to the cr
    
    Conflicts:
    	src/operator/tensor/elemwise_sum.cc
    	src/operator/tensor/elemwise_unary_op.cc
    	tests/python/gpu/test_operator_gpu.py
    
    resolve conflict
    reminisce authored and eric-haibin-lin committed Aug 1, 2017
    Configuration menu
    Copy the full SHA
    55e4763 View commit details
    Browse the repository at this point in the history
  2. GPU implementation of cast_storage (dense to rsp) (apache#7223)

    * CastStorageDnsRsp GPU Implementation
    
    * updating function doc and some variable types and names
    
    * adding cuda_get_device_prop() util function
    
    * added rand_shape function for n-dimensional tensors
    
    * updated cast storage unit test
    
    * added dns_to_rsp to cast storage benchmark script
    
    * removing redundant unit test
    
    * fix lint
    
    * minor change in benchmark script
    
    * fix lint
    
    * correct function description
    
    * change storage_type to stype
    
    * changed scope of using namespaces
    
    * changed variable types from index_t to dim_t
    stefanhenneking authored and eric-haibin-lin committed Aug 1, 2017
    Configuration menu
    Copy the full SHA
    7e1647c View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2017

  1. Configuration menu
    Copy the full SHA
    5905ddc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d8a9aba View commit details
    Browse the repository at this point in the history
  3. Improve StatefulOp/FCompute storage fallback (#134)

    * test for fcomp fallback
    
    add storage fallback test and optimize fallback logic
    
    rename function, add comments
    
    use std size()
    
    * add autograd test with sparse inputs
    eric-haibin-lin authored Aug 2, 2017
    Configuration menu
    Copy the full SHA
    f686174 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2017

  1. update sparse ndarray api (#139)

    * support mx.nd.empty for sparse ndarray
    
    Change SparseNDArray to BaseSparseNDArray
    
    support mx.nd.array with BaseSparseNDArray inputs. Update documentation with explicit subclasses of NDArrays
    
    Conflicts:
    	python/mxnet/ndarray/__init__.py
    	python/mxnet/ndarray/ndarray.py
    	python/mxnet/ndarray/sparse_ndarray.py
    	tests/python/unittest/test_sparse_ndarray.py
    
    * fix print msg in test
    eric-haibin-lin authored Aug 3, 2017
    Configuration menu
    Copy the full SHA
    d0579c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    56b5a63 View commit details
    Browse the repository at this point in the history
  3. Handle ograd_stype='row_sparse' for square_sum backward (#143)

    * Add one kernel for square_sum backward pass to take rsp ograd
    
    * Add kNullOp and change to use type_assign in infer stype fallback
    reminisce authored and eric-haibin-lin committed Aug 3, 2017
    Configuration menu
    Copy the full SHA
    325f4db View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2017

  1. Sparse retain improvement (#138)

    * Add one more kernel for sparse retain
    
    * Fix compile
    
    * Change STORAGE_TYPE_ASSIGN_CHECK to type_assign for fallback
    
    * Fix
    
    * Add gpu compile
    reminisce authored and eric-haibin-lin committed Aug 5, 2017
    Configuration menu
    Copy the full SHA
    5866b2b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9298bfa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f07771 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d511938 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2017

  1. update ndarray.nd, remove invoke from excluded members (#137)

    remove __weakref__ from SparseNDArray
    
    add data indice to doc
    
    revert dlpack update
    
    revert mxdoc changes
    
    move methods from BaseSparseNDarray to csrndarray and rwosparse ndarray
    eric-haibin-lin authored Aug 6, 2017
    Configuration menu
    Copy the full SHA
    6956431 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6c9a350 View commit details
    Browse the repository at this point in the history
  3. support storage fallback with mutable inputs (#147)

    * include mutatable inputs in storage fallback. refactor executor
    
    add fallback test for rms prop and adam
    
    fix lint
    
    fix lint
    
    fix test in optimizer
    
    *  update according to comments
    
    * fix unit tests
    
    * fix gpu compilation err
    eric-haibin-lin authored Aug 6, 2017
    Configuration menu
    Copy the full SHA
    66b7b8a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cf8ddcf View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2017

  1. Configuration menu
    Copy the full SHA
    0396c9a View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2017

  1. Code changes based on reviews (#144)

    * code changes according to review comments
    
    remove executor debug. add doc to optimizer
    
    update sparse sgd test
    
    add dtype option to rand_sparse_ndarray
    
    * overhauled reqs for sparse operators
    
    * patch FCompExFallback with mutable inputs. update test_optimizer with more fallback cases
    
    * change executor debug macro to env var
    
    * add comment
    
    * update doc
    
    * change ndarray.aux_shape() to return const reference
    
    * remove todense to_rsp to_csr. replace with tostype
    
    * replace manual calls to cast_storage with tostype
    
    * disable gpu fallback test for optimizer
    
    * fix lint
    
    * add backward pass for cast_storage. refactor cast_storage test
    
    * rand_sparse_ndarray bug fix
    
    * fix cast_storage for gpu
    
    * disable csr test for fp16
    
    * update row sparse ndarray doc
    
    * update doc
    eric-haibin-lin authored Aug 8, 2017
    Configuration menu
    Copy the full SHA
    2dc7dc9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f318c9d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    85cbc60 View commit details
    Browse the repository at this point in the history
  4. fix lint (#152)

    eric-haibin-lin authored Aug 8, 2017
    Configuration menu
    Copy the full SHA
    fc1aa6e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9ba96b9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6cbdf98 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2017

  1. Configuration menu
    Copy the full SHA
    253ae57 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b2ad302 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    129148c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d6f987d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    955e97f View commit details
    Browse the repository at this point in the history
  6. Extending the GPU dot operator (apache#7226)

    * Added GPU DotCsrRspDnsImpl declaration and TODOs
    
    * cleaning up function doc, variable types, and code-style
    
    * minor bug fixes
    
    * enable GPU dot(csr,rsp)=dns unit test
    
    * extend sparse dot unit test
    
    * adding GPU impl of DotCsrRspDns and its kernels
    
    * add TODO
    
    * changed variable types from index_t to dim_t
    
    * fix function description
    
    * added DotCsrRspRspImpl and its kernels (baseline, functionality)
    
    * added DotCsrDnsRspImpl and its kernels (baseline, functionality); plus code documentation
    
    * refactored dot benchmark
    
    * optimized DotCsrTransDnsRsp GPU kernel
    
    * change of dot impl interface to include OpContext, for temp storage
    
    * removing __device__ flag from CPU kernels
    
    * minor fixes and changing variable data types
    
    * minor fixes based on code reviews
    
    Conflicts:
    	benchmark/python/sparse_op.py
    	tests/python/gpu/test_operator_gpu.py
    	tests/python/unittest/test_sparse_operator.py
    stefanhenneking authored and eric-haibin-lin committed Aug 9, 2017
    Configuration menu
    Copy the full SHA
    bc33101 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8040953 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2017

  1. Add get_synthetic_dataset function to util (#146)

    * Add get_synthetic_datasets
    
    * Move to test_utils
    
    * Remove _get_uniform_dataset
    
    * Move validation to its own function
    
    * Refactor the validation code for csr generation
    
    * Make test_powerlaw a nested function
    
    * Change SparseNDArray to CSRNDArray
    
    * Merge with dtype specific changes in test_utils
    anirudh2290 authored and eric-haibin-lin committed Aug 10, 2017
    Configuration menu
    Copy the full SHA
    2d93d72 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    80a590d View commit details
    Browse the repository at this point in the history
  3. support random_uniform/normal/gamma with row_sparse output (#155)

    * add support for initilazer with rowsparse output
    
    * add scalar assignment to row_sparse
    
    * add setitem test to gpu
    
    * Revert "add scalar assignment to row_sparse"
    
    This reverts commit 8aef7a5.
    
    * Revert "add setitem test to gpu"
    
    This reverts commit 3b969ac.
    eric-haibin-lin authored Aug 10, 2017
    Configuration menu
    Copy the full SHA
    92f54d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    17bfa4e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef3b442 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a44afed View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2017

  1. Add documentation for sparse ops (#148)

    *  draft doc for sparse op
    
    * add more stype doc for operators
    
    * add doc for cast_storage
    
    * see also cast_storage. remove base sparse ndarray. fix aux_types comemtn
    
    * grammar / spelling fix
    eric-haibin-lin authored Aug 11, 2017
    Configuration menu
    Copy the full SHA
    ceca9b6 View commit details
    Browse the repository at this point in the history
  2. A few fixes (#163)

    * fix batch norm gpu kernel. register random operators on gpu
    
    * register sparse random op on gpu, too
    eric-haibin-lin authored Aug 11, 2017
    Configuration menu
    Copy the full SHA
    1c60a05 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2017

  1. Configuration menu
    Copy the full SHA
    04e9129 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ebc012 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2017

  1. Minor fixes sparse ops (#160)

    * change CPU kernel inline directives, data types, and function doc
    
    * update dot dtype switch to use 32 and 64bit floating point only
    
    * use type_assign instead of STORAGE_TYPE_ASSIGN_CHECK
    
    * added tensor_util-inl.cuh file for common tensor operator GPU kernels
    stefanhenneking authored and eric-haibin-lin committed Aug 14, 2017
    Configuration menu
    Copy the full SHA
    889a09e View commit details
    Browse the repository at this point in the history
  2. sparse Adam optimizer (#164)

    *  add sparse adam
    
    * register gpu op
    
    * add comments
    
    * cr comments
    eric-haibin-lin authored Aug 14, 2017
    Configuration menu
    Copy the full SHA
    6b0cac1 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2017

  1. kvstore.row_sparse_pull for GPU and end-to-end benchmark: CPU vs. mul…

    …ti-GPUs (#150)
    
    * Add gpu support for BroadcastRowSparse
    
    * Fix bugs
    
    * Add benchmark script
    
    * Increase output dim size
    
    * Update weight on CPU using single GPU for sparse tensors
    
    * More fix
    
    * Optimize sparse_retain for special case
    
    * Change row sparse pull locations
    
    * Avoid sparse retain on cpu if possible
    
    * Use acc for metric
    
    * Fix misc
    reminisce authored and eric-haibin-lin committed Aug 15, 2017
    Configuration menu
    Copy the full SHA
    eeff444 View commit details
    Browse the repository at this point in the history
  2. fix bug in adam update (#167)

    fix a bug in adam update
    eric-haibin-lin authored Aug 15, 2017
    Configuration menu
    Copy the full SHA
    54f698b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6fa078e View commit details
    Browse the repository at this point in the history