Commit Graph

1062 Commits

Author SHA1 Message Date
Mufei Li
8b8fd2c0be [Dataset] Add transform argument to built-in datasets (#3733)
* Update

* Fix

* Update
2022-02-15 16:45:47 +08:00
Israt Nisa
b3d3a2c4b0 [Feature] Gather mm (#3641)
* init

* init

* working cublasGemm

* benchmark high-mem/low-mem, err gather_mm output

* cuda kernel for bmm like kernel

* removed cpu copy for E_per_Rel

* benchmark code from Minjie

* fixed cublas results in gathermm sorted

* use GPU shared mem in unsorted gather mm

* minor

* Added an optimal version of gather_mm_unsorted

* lint

* init gather_mm_scatter

* cublas transpose added

* fixed h_offset for multiple rel

* backward unittest

* cublas support to transpose W

* adding missed file

* forgot to add header file

* lint

* lint

* cleanup

* lint

* docstring

* lint

* added unittest

* lint

* lint

* unittest

* changed err type

* skip cpu test

* skip CPU code

* move in-len loop inside

* lint

* added check different dim length for B

* w_per_len is optional now

* moved gather_mm to pytorch/backend with backward support

* removed a_/b_trans support

* transpose op inside GEMM call

* removed out alloc from API, changed W 2D to 3D

* Added se_gather_mm, Separate API for sortedE

* Fixed gather_mm (unsorted) user interface

* unsorted gmm backward + separate CAPI for un/sorted A

* typecast to float to support atomicAdd

* lint typecast

* lint

* added gather_mm_scatter

* minor

* const

* design changes

* Added idx_a, idx_b support gmm_scatter

* dgl doc

* lint

* adding gather_mm in ops

* lint

* lint

* minor

* removed benchmark files

* minor

* empty commit

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
2022-02-14 22:27:23 -05:00
Jinjing Zhou
dc78e11c3f [Dataset] Adapter to convert a dataset for link prediction task (#3699)
* add ut

* add doc link

* install dep

* add

* Revert "install dep"

This reverts commit e574a83771.

* add

* merge fix

* rm files

* fix

* fix

* fix

* fix

* fix typo

* fix tf

* fix

* fix

* fix

* fix

* fix

* fix dependency

* fix test

* fix

* fix

* add doc

* fix

* fix

* fix test

* fix test

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-02-11 16:59:14 +08:00
ranzhejiang
bc8f8b0b7a New fused edge_softmax op (#3650)
* [feature] edge softmax refact.

* delete file

* fix backward and cmake version

* fix backward

* format function

* fix setting

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* refix

* add cuda kernel for backward and rename some function

* add benchmark for edge_softmax

* fix format

* remove cuda_backwrd

* fix code format and add comment for op on CPU

* fix lint

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-11 13:34:24 +08:00
Rhett Ying
45ac57260a [data] refine AsNodePredDataset and add tests for DGLCSVDataset (#3722)
* [data] refine AsNodePredDataset and add tests for DGLCSVDataset

* fix

* remove add_self_loop

* refine
2022-02-10 17:46:39 +08:00
Rhett Ying
fcd8ed9acc [Feature] Launch Long Live Servers and Multiple Client Groups (#3688)
* enable to launch multiple client groups sequentially

* launch simultaneously is enabled

* refine docstring

* revert unnecessary change

* [DOC] add doc for long live server

* refine

* refine doc

* refine doc
2022-02-09 15:56:38 +08:00
Xin Yao
738e8318fd [Feature] CUDA UVA sampling for MultiLayerNeighborSampler (#3674)
* implement pin_memory/unpin_memory/is_pinned for dgl.graph

* update python docstring

* update c++ docstring

* add test

* fix the broken UnifiedTensor

* XPU_SWITCH for kDLCPUPinned

* a rough version ready for testing

* eliminate extra context parameter for pin/unpin

* update train_sampling

* fix linting

* fix typo

* multi-gpu uva sampling case

* disable new format materialization for pinned graphs

* update python doc for pin_memory_

* fix unit test

* UVA sampling for link prediction

* dispatch most csr ops

* update graphsage example to combine uva sampling and UnifiedTensor

* update graphsage example to combine uva sampling and UnifiedTensor

* update graphsage example to combine uva sampling and UnifiedTensor

* update doc

* update examples

* change unitgraph and heterograph's PinMemory to in-place

* update examples for multi-gpu uva sampling

* update doc

* fix linting

* fix cpu build

* fix is_pinned for DistGraph

* fix is_pinned for DistGraph

* update graphsage unsupervised example

* update doc for gpu sampling

* update some check for sampling device switching

* fix linting

* adapt for new dataloader

* fix linting

* fix

* fix some name issue

* adjust device check

* add unit test for uva sampling & fix some zero_copy bug

* fix linting

* update num_threads in graphsage examples

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-09 14:06:17 +08:00
KoyamaSohei
fa343873a8 Fix docs on GraphSAGE normalization (#3711)
Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-07 17:56:04 +08:00
nv-dlasalle
f282ee30ad [bugfix] Fix set_default_backend() keyword (#3710)
* Add unit test

* Fix typo

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-02-07 16:15:02 +08:00
Jeremy Goh
25c9221b83 Add check for aggregator_type enum in SAGEConv init (#3691)
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2022-02-03 12:02:35 +08:00
Quan (Andy) Gan
701b4fccc2 [Sampling] New sampling pipeline plus asynchronous prefetching (#3665)
* initial update

* more

* more

* multi-gpu example

* cluster gcn, finalize homogeneous

* more explanation

* fix

* bunch of fixes

* fix

* RGAT example and more fixes

* shadow-gnn sampler and some changes in unit test

* fix

* wth

* more fixes

* remove shadow+node/edge dataloader tests for possible ux changes

* lints

* add legacy dataloading import just in case

* fix

* update pylint for f-strings

* fix

* lint

* lint

* lint again

* cherry-picking commit fa9f494

* oops

* fix

* add sample_neighbors in dist_graph

* fix

* lint

* fix

* fix

* fix

* fix tutorial

* fix

* fix

* fix

* fix warning

* remove debug

* add get_foo_storage apis

* lint
2022-01-30 16:13:00 +08:00
Minjie Wang
5152a87982 [Data] Utility function and class for converting a dataset for node prediction (#3695)
* add ut

* add doc link

* install dep

* fix  ci

* fix ut; more comments

* remove deprecated attributes in rdf datasets; fix label feature name

* address comments

* fix ut for other frameworks
2022-01-30 14:31:37 +08:00
Mufei Li
56b5d0e53a [Transform] Allow Disabling Adding Reverse Edges for Self Loops (#3701)
* Update

* Update

* Update
2022-01-29 18:38:09 +08:00
Quan (Andy) Gan
92db4bd5a0 fix (#3700) 2022-01-28 20:51:15 +08:00
Quan (Andy) Gan
da877df238 [CI] Migrate to pylint 2.6.0 (#3698)
* migrate to pylint 2.6.0

* fix

* fix?

* ???

* oops
2022-01-28 18:32:18 +08:00
nv-dlasalle
268f617642 Fix race condition in creating directory (#3696)
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-01-28 15:58:03 +08:00
Rhett Ying
6255c95aae [Fix] too many open files (#3694)
* [Fix] too many open files
2022-01-28 13:24:20 +08:00
Mufei Li
05c6c3c5ec [NN] Fix GINConv (#3692)
* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix lint

* lint

* Update

* Update

* lint fix

* Fix CI

* Fix

* Fix CI

* Update

* Fix

* Update

* Update

* Update ginconv.py

* Update test_nn.py

Co-authored-by: Ubuntu <ubuntu@ip-172-31-31-136.us-west-2.compute.internal>
2022-01-27 12:46:29 +08:00
Jinjing Zhou
c8fef62928 Fix wrong logging level (#3689) 2022-01-26 22:59:20 +08:00
Rhett Ying
02e4cd8b56 [Feature] long live server for multiple client groups (#3645)
* [Feature] long live server for multiple client groups

* generate globally unique name for DistTensor within DGL automatically
2022-01-26 15:21:14 +08:00
Mufei Li
2b98e764e8 [Transform] Modules for Augmentation (#3668)
* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix lint

* lint

* Update

* Update

* lint fix

* Fix CI

* Fix

* Fix CI

* Update

* Fix

* Update

* Update

* Augmentation (#10)

* Update

* PPR

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* CI

* lint

* lint

* Update

* Update

* Fix AddEdge

* try import

* Update

* Fix

* CI

Co-authored-by: Ubuntu <ubuntu@ip-172-31-31-136.us-west-2.compute.internal>
Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-01-25 20:29:46 +08:00
Jinjing Zhou
ba62b730b4 Disable tensoradapter and "using backend: xxx" log by default (#3684)
* fix

* lint

* lint

* address comment
2022-01-25 19:32:54 +08:00
Jeremy Goh
8f5baa15e4 [Doc] Fix spelling, references and update info on building docs (#3682)
* Fix ref to message-passing guide

* Fix pygments and spacing

* Update build documentation steps in README.md

* Use links

* Adjust parameters in SAGEConv docstring in same order as init

* Fix spelling error

* Change doc link
2022-01-25 17:22:18 +08:00
Xin Yao
40b44a43a9 [Feature] Pin dgl.graph to the page-locked memory (#3616)
* implement pin_memory/unpin_memory/is_pinned for dgl.graph

* update python docstring

* update c++ docstring

* add test

* fix the broken UnifiedTensor

* eliminate extra context parameter for pin/unpin

* fix linting

* fix typo

* disable new format materialization for pinned graphs

* update python doc for pin_memory_

* fix unit test

* update doc

* change unitgraph and heterograph's PinMemory to in-place

* update comments for NDArray's PinMemory_ and PinData

* update doc

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-01-21 16:13:12 +08:00
Rhett Ying
e4cb4a3779 [Fix] reduce error msg, refine fetch logic of available ports (#3658)
* [Fix] reduce error msg, refine fetch logic of available ports

* un-initialize client before sending shutdown request

* fix import error

* print connect failure log only in debug mode

* enable DMLC_LOG_DEBUG=1 in CI
2022-01-19 09:41:58 +08:00
Rhett Ying
9ec9df57ca [Fix] check and load dependencies when needed (#3655)
* [Fix] check and load dependencies when needed

* refine rdflib import
2022-01-18 16:10:47 +08:00
Mufei Li
48cbea720e [Transform] Module Interface for Transform (#3636)
* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Fix lint

* lint

* Update

* Update

* lint fix

* Fix CI

* Fix

* Fix CI

* Update

* Fix

* Update

* Update

* resolve conflict

* Fix CI

Co-authored-by: Ubuntu <ubuntu@ip-172-31-31-136.us-west-2.compute.internal>
2022-01-17 17:45:07 +08:00
Da Zheng
2dd114ed24 [Distributed] Measure peak memory size in graph partitioning (#3633)
* measure peak memory size.

* fix lint.

Co-authored-by: Ubuntu <ubuntu@ip-172-31-30-164.us-west-2.compute.internal>
2022-01-13 15:41:53 -08:00
Quan (Andy) Gan
d03138e2cb [Bugfix?] Remove simple graph requirement for to_bidirected (#3630)
* remove simple graph requirement

* doc

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
2022-01-13 18:46:06 +08:00
Andrew
7f83d7456a [Feature] method for merging graphs into graphs (#3522)
* Added graph updating method and tests. resolves #3488

* removed spaces around named args

* customizing indices for graph's idtype and ctx

* changing torch ops to generic backend ops

* changing tensors to np arrays

* created dgl merge function and tests

* Changed per-graph edge updates to single ag update

* removed update method and tests

* reformat newlines & spaces

* concatenating in one-shot instead of iteratively

Co-authored-by: Mufei Li <mufeili1996@gmail.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2022-01-12 00:20:22 +08:00
Rhett Ying
41124b3284 [Fix] Do not import DGLCSVDataset in default in case of dependency issue (#3642) 2022-01-11 15:25:03 +08:00
Rhett Ying
37467e2589 [Feature][Dist] change TP::Receiver/TP::Sender for multiple connections (#3574)
* [Feature] enable TP::Receiver wait for any numbers of senders

* fix random unit test failure

* avoid endless future wait

* fix unit test failure

* fix seg fault when finalize wait in receiver

* [Feature] refactor sender connect logic and remove unnecessary sleeps in unit tests

* fix lint

* release RPCContext resources before process exits

* [Debug] TPReceiver wait start log

* [Debug] add log in get port

* [Debug] add log

* [ReDebug] revert time sleep in unit tests

* [Debug] remove sleep for test_distri,test_mp

* [debug] add more log

* [debug] add listen_booted_ flag

* [debug] restore commented code for queue

* [debug] sleep more in rpc_client

* restore change in tests

* Revert "restore change in tests"

This reverts commit 41a18926d1.

* Revert "[debug] sleep more in rpc_client"

This reverts commit a908e758ea.

* Revert "[debug] restore commented code for queue"

This reverts commit d3f993b374.

* Revert "[debug] add listen_booted_ flag"

This reverts commit 244b2167d9.

* Revert "[debug] add more log"

This reverts commit 4b78447b0a.

* Revert "[Debug] remove sleep for test_distri,test_mp"

This reverts commit e1df1aadcc.

* remove debug code

* revert unnecessary change

* revert unnecessary changes

* always reset RPCContext when get started and reset all data

* remove time.sleep in dist tests

* fix lint

* reset envs before each dist test

* reset env properly

* add time sleep when start each server

* sleep for a while when boot server

* replace wait_thread with callback

* fix lint

* add dglconnect handshake check

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2022-01-11 08:55:36 +08:00
Rhett Ying
95c0ff6302 [Feature] add CSVDataset to load data from csv files (#3547)
* [Feature] add CSVDataset to load data from csv files

* add CSVDataset class file

* install pyyaml when running unit tests

* install pandas for unit tests

* utilize pydantic for YAML config check

* generate yaml and csv files during test

* make more keys as optional

* remove/rename several keys in yaml config and more tets though looks a bit clumsy

* fix test failure on mxnet

* pass /path/to/dataset instead of yaml path

* code refinement

* code refine

* change several yaml field such as feat and graph_id

* merge graph generation logic

* refine code

* Refactored_first_version

* DGLCSVDataset works for single heterograph

* add more tests

* fix test failure in mxnet

* add docstring

* use list comprehension for dict

* fix version in YAML

* refine data length assert

* use dict.pop directly

* remove ambiguous variable names

* refine graph id missing logic

* refine graph create call

* separate node/edge/graph data parser

* remove separator in DefaultDataParser

* refine validation error log for yaml field

* minor check

* refine code via dict.get()

* move load_from_csv into Node/Edge/GraphData

* move _parse_node/edge/graph_data into Node/Edge/GraphData

* refine id-related fields check

* check duplicate ntypes/etypes when load yaml

* refine docstring
2022-01-10 17:21:57 +08:00
Quan (Andy) Gan
90f10b31cb [Feature] Negative sampling (#3599)
* first commit

* a bunch of fixes

* add unique

* lint

* lint

* lint

* address comments

* Update negative_sampler.py

* fix

* description

* address comments and fix

* fix

* replace unique with replace

* test pylint

* Update negative_sampler.py
2022-01-07 18:26:14 +08:00
Jinjing Zhou
01bec4a31d Fix #3623 (#3628) 2022-01-07 18:23:26 +08:00
RONANKI SWAMY SRIHARSHA
9c1065479e [NN] Added activation function as an optional parameter to GINConv (#3565)
* Added activation function as an optional parameter

* lint fixes

* Modified the input parameters in tandem with other classes

* lint corrections

* corrected tests

* Reverting back to the old interface

* lint corrections

Co-authored-by: Minjie Wang <wmjlyjemaine@gmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-29 14:01:01 +08:00
Israt Nisa
88f5a8bec8 [Feature] Add heterogeneous graph API for edge_softmax (#3571)
* edge_softmax_hetero forwar+cpu+norm=dst

* convert eids to list

* addedunittest

* added unittest

* added backward. Not tested correctness

* minor

* changed reducer to max from sum

* bugfix

* docstring

* add GPU unittest

* output converted to dict from tuple

* lint check

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-19 13:51:51 -05:00
Zeyan Li 李则言
6418c1c541 fix reducer qualname and name to support pickle (#3540) 2021-12-17 16:16:15 +08:00
Israt Nisa
6c81634b29 [Bugfix] Fixes wrong output in multi_update_all for reduce op max/min (Issue#3564)) (#3581)
* fixed bug

* added  in test cases

* unittest resolved

* bugfix

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-17 08:54:15 +08:00
lixiaobai
dd762a1e8a [PinSAGESampler] support PinSAGE sampler on GPU (#3567)
* Feat: support API "randomwalk_topk" in library

* Feat: use the new API "randomwalk_topk" for PinSAGESampler

* Minor

* Minor

* Refactor: modified codes as checker required

* Minor

* Minor

* Minor

* Minor

* Fix: checking errors in RandomWalkTopk

* Refactor: modified the docstring for randomwalk_topk

* change randomwalk_topk to internal

* fix

* rename

* Minor for pinsage.py

* Feat: support randomwalk and SelectPinSageNeighbors on GPU

Port RandomWalk algorithm on GPU,
and port SelectPinSageNeighbors on GPU.

* Feat: support GPU on python APIs

* Feat: remove perf print information in FrequenchHashmap

* Fix: modified the code format

Modified the code format as task_lint.sh suggested

* Feat: let test script support PinSAGESampler on GPU

Let test script support PinSAGESampler on GPU,
minor of "restart_prob".

* Minor

* Minor

* Minor

* Refactor: use the atomic operations from the array module

* Minor: change the long lines

* Refactor: modified the get_node_types for gpu

* Feat: update the contributor date

* Perf: remove unnecessary stream sync

* Feat: support other random walk

But the non-uniform choice is still not supported.

* Fix: add CUDA switch for random walk

Co-authored-by: Quan Gan <coin2028@hotmail.com>
2021-12-15 13:42:26 +08:00
Vasimuddin Md
78e0dae693 [DistGNN, Graph partitioning] Libra partition (#3376)
* added distgnn plus libra codebase

* Dist application codes

* added comments in partition code. changed the interface of partitioning call.

* updated readme

* create libra partitioning branch for the PR

* removed disgnn files for first PR

* updated kernel.cc

* added libra_partition.cc and moved libra code from kernel.cc to libra_partition.cc

* fixed lint error; merged libra2dgl.py and main_Libra.py to libra_partition.py; added graphsage/distgnn folder and partition script.

* removed libra2dgl.py

* fixed the lint error and cleaned the code.

* revisions due to PR comments. added distgnn/tools contains partitions routines

* update 2 PR revision I

* fixed errors; also improved the runtime by 10x.

* fixed minor lint error

* fixed some more lints

* PR revision II changed the interface of libra partition function

* rewrite docstring

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-15 10:02:31 +08:00
Jinjing Zhou
02880e9f86 Fix unnecessary trigger of lazy copy (#3585)
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-13 17:11:03 +08:00
ZZy979
7273a1661e [Doc] Fix docstring of MultiLayerNeighborSampler (#3579)
Make the default value of parameter replace in docstring consistent with code

Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
Co-authored-by: Mufei Li <mufeili1996@gmail.com>
2021-12-13 17:10:46 +08:00
schmidt-ju
5f4c879399 Fix output dimensions of residual connection for GATv2Conv (#3584)
Number of heads needs to be considered for the transformation of the destination features. Otherwise this will crash if residual==True.
2021-12-13 12:41:30 +08:00
Mufei Li
d6eecf90a1 [NN] TransE and TransR (#3530)
* Update

* Update

* Update

* Update

* Update

* CI

* CI

* CI

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-07 10:13:13 +08:00
Yongyi
c3103b62bf [BugFix] Fix a bug in TWIRLS, add unittest (#3573)
* Fix a bug in TWIRLS, add unittest

* reformatting the code

* modify unittest for TWIRLS

Co-authored-by: Jinjing Zhou <VoVAllen@users.noreply.github.com>
2021-12-07 00:23:09 +08:00
Jinjing Zhou
a3ce780d29 [RPC] Use tensorpipe for rpc communication (#3335)
* doesn't know whether works

* add change

* fix

* fix

* fix

* remove

* revert

* lint

* lint

* fix

* revert

* lint

* fix

* only build rpc on linux

* lint

* lint

* fix build on windows

* fix windows

* remove old test

* fix cmake

* Revert "remove old test"

This reverts commit f1ea75c777.

* fix windows

* fix

* fix

* fix indent

* fix indent

* address comment

* fix

* fix

* fix

* fix

* fix

* lint

* fix indent

* fix lint

* add introduction

* fix

* lint

* lint

* add more logs

* fix

* update xbyak for C++14 with gcc5

* Remove channels

* fix

* add test script

* fix

* remove unused file

* fix lint

* add timeout
2021-12-06 20:03:33 +08:00
Quan (Andy) Gan
eb08ef3831 [Distributed] Edge-type-specific fanouts for heterogeneous graphs (#3558)
* first commit

* second commit

* spaghetti unit tests

* rewrite test
2021-12-06 13:59:29 +08:00
xiang song(charlie.song)
156c17f3a6 [BugFix] Fix a bug of distributed SparseAdam optimizer. (#3561)
* Fix dist user embed bug

* Add some comments

* trigger

Co-authored-by: xiangsx <xiangsx@ip-10-3-83-86.eu-west-1.compute.internal>
2021-12-03 21:29:25 -08:00
Israt Nisa
cb0e1103ed [Feature] Add Min/max reducer in heterogeneous API for unary message functions (#3514)
* min/max support for forward CPU heterograph

* Added etype with each argU values

* scatter_add needs fix

* added scatter_add_hetero. Grads dont match for max reducer

* storing ntype in argX

* fixing scatter_add_hetero

* hetero matches with torch's scatter add

* works copy_e forward+cpu

* added backward for copy_rhs

* Computes gradient for all node types in one kernel

* bug fix

* unnitest for max/min on CPU

* renamed scatter_add_hetero to update_grad_minmax_hetero

* lint check and comment out cuda call for max. Code is for CPU only

* lint check

* replace inf with zero

* minor

* lint check

* removed LIBXSMM code from hetro code

* fixing backward operator of UpdateGradMinMaxHetero

* removed backward from update_grad_minmax_hetero

* docstring

* improved docstring and coding style

* Added pass by pointer for output

* typos and pass by references

* Support for copy_rhs

* Added header <string>

* fix bug in copy_u_max

* Added comments and dimension check of all etypes

* skip mxnet check

* pass by pointer output arrays

* updated docstring

Co-authored-by: Israt Nisa <nisisrat@amazon.com>
Co-authored-by: Quan (Andy) Gan <coin2028@hotmail.com>
2021-12-04 00:39:30 +08:00