Commit Graph

73 Commits (1d8f9285674f2b1f9f2d7758d3f945ebb74fcf82)

Author SHA1 Message Date
Wang Yixuan 1d8f928567
1.x branch fix hccl compile (#3237)
* 1.x branch fix hccl compile

fix bug

* fix bug
2025-02-10 12:21:01 +08:00
sherie 5494299ba2
[Feature] torch_npu support aclnn and add op (#2997) 2024-02-01 14:14:25 +08:00
q.yao 1bb3dea9ad temporarily disable mps ops for torch2.1.0 (#2958) 2023-12-26 20:04:11 +08:00
q.yao 62d7092a4c Support pre released pytorch2.1.0 (#2865) 2023-12-26 20:04:11 +08:00
sherie 50d1eaaf23
Support torch_npu v2.1 (#2943) 2023-09-26 16:44:36 +08:00
bdf 8725e683b4
[Refactor] Replace the MLU ops implementation with mlu-ops (#2750) 2023-05-18 11:23:41 +08:00
bdf 66c5515174
[Enhance] Add a default value for MMCV_MLU_ARGS (#2688)
* add mlu_args

* add mlu_args

* Modify the code

---------

Co-authored-by: budefei <budefei@cambricon.com>
2023-03-24 19:59:43 +08:00
CokeDong 1de3aeffd7
Fix bbox_overlaps of parrots (#2684)
* Fix parrots bbox_overlaps

* Fix
2023-03-22 11:39:55 +08:00
duzekun 06fa32853b
[Feature] Add MLU support for Sparse Convolution op (#2589)
* [Feature] Add sparse convolution MLU API

* [Feature] update cpp code style

* end-of-file

* delete libext.a

* code style

* update ops.md

---------

Co-authored-by: budefei <budefei@cambricon.com>
2023-03-20 19:28:13 +08:00
liuduanhui dfb03806a1
[Feature] Support ball_query with cambricon MLU backend and mlu-ops library. (#2520)
* [Feature] Support ball_query with cambricon MLU backend and mlu-ops library.

* [Fix] update operator data layout setting.

* [Fix] add cxx compile option to avoid symbol conflict.

* [Fix] fix lint errors.

* [Fix] update ops.md with info of ball_query support by MLU backend.

* [Feature] Fix typo.

* [Fix] Remove print.

* [Fix] get mlu-ops from MMCV_MLU_OPS_PATH env.

* [Fix] update MMCV_MLU_OPS_PATH check logic.

* [Fix] update error info when failed to download mlu-ops.

* [Fix] check mlu-ops version matching info in mmcv.

* [Fix] revise wrong filename.

* [Fix] remove f.close and re.
2023-01-18 14:41:04 +08:00
CokeDong 404124949a
[Fix] Fix compilation error in Parrots environment (#2515)
* Fix parrots compile error(only support aten1.3)

* Fix setup.py for parrots
2022-12-28 17:22:04 +08:00
xiabo123 30d975a5f9
Change the block size to 1024 during compilation. (#2460)
* The default block size of rocm is 256.The designed kenel has a block size of 512.Change the block size to 1024 during compilation.

* The default block size of rocm is 256.The designed kenel has a block size of 512.Change the block size to 1024 during compilation.

* The default block size of rocm is 256.The designed kenel has a block size of 512.Change the block size to 1024 during compilation.

* The default block size of rocm is 256.The designed kenel has a block size of 512.Change the block size to 1024 during compilation.
2022-12-28 15:04:35 +08:00
wangjiangben-hw a5db5f6682
[Feature] Support training on NPU device (#2262)
* init npu

* add npu extension and focal loss adapter

* clean code

* clean code

* clean code

* clean code

* fix autocast bugs on npu (#2273)

fix autocast bugs on npu (#2273)

* code format

* code format

* code format

* bug fix

* pytorch_npu_helper.hpp clean code

* Npu dev (#2306)

* fix autocast bugs on npu
* using scatter_kwargs in mmcv.device.scatter_gather

* raise ImportError when compile with npu

* add npu test case (#2307)

* add npu test case

* Update focal_loss.py

* add comment

* clean lint

* update dtype assert

* update DDP forward and comment

* fix bug

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

Co-authored-by: ckirchhoff <515629648@qq.com>
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2022-09-30 21:05:37 +08:00
Zachary Streeter 2046a394a2
[Fix] Use ROCm backened within the PyTorch framework (#1918)
* modified code for using ROCm backened within the PyTorch framework

* added hip runtime header

* flake8 linting fix
2022-09-13 15:43:48 +08:00
q.yao 22fadceecd
[Feature] Add MPS bbox overlap (#2123)
* add mps bbox overlap

* format

* update document and manifest

* update readme
2022-07-22 19:30:01 +08:00
Zaida Zhou 45fa3e44a2
Add pyupgrade pre-commit hook (#1937)
* add pyupgrade

* add options for pyupgrade

* minor refinement
2022-05-18 11:47:14 +08:00
Zaida Zhou 235c0253ab
bump version to v1.5.0 (#1883) 2022-04-19 00:14:38 +08:00
Qiza-lyhm 42e7e2eec4
[Fix] Add MLU kernels to be compiled (#1885)
- Add MLU operator kernels.
2022-04-17 01:10:06 +08:00
Jiazhen Wang 362a90f8bf
[Feature] Add several MLU ops (#1563)
* [Feature] Add roiaware pool3d ops from mmdet3d (#1382)

* add ops (roiaware pool3d) in mmdet3d

* refactor code

* fix typo

Co-authored-by: zhouzaida <zhouzaida@163.com>

* [Feature] Add iou3d op from mmdet3d (#1356)

* add ops (iou3d) in mmdet3d

* add unit test

* refactor code

* refactor code

* refactor code

* refactor code

* refactor code

Co-authored-by: zhouzaida <zhouzaida@163.com>

* [Fix] Update test data for test_iou3d (#1427)

* Update test data for test_iou3d

* delete blank lines

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* [Feature] Add group points ops from mmdet3d (#1415)

* add op (group points) and its related ops (ball query and knn) in mmdet3d

* refactor code

* fix typo

* refactor code

* fix typo

* refactor code

* make input contiguous

Co-authored-by: zhouzaida <zhouzaida@163.com>

* add mmdet3d op (#1425)

Co-authored-by: zhouzaida <zhouzaida@163.com>

* [Feature] Loading objects from different backends and dumping objects to different backends (#1330)

* [Feature] Choose storage backend by the prefix of filepath

* refactor FileClient and add unittest

* support loading from different backends

* polish docstring

* fix unittet

* rename attribute str_like_obj to is_str_like_obj

* add infer_client method

* add check_exist method

* rename var client to file_client

* polish docstring

* add join_paths method

* remove join_paths and add _format_path

* enhance unittest

* refactor unittest

* singleton pattern

* fix test_clientio.py

* deprecate CephBackend

* enhance docstring

* refactor unittest for petrel

* refactor unittest for disk backend

* update io.md

* add concat_paths method

* improve docstring

* improve docstring

* add isdir and copyfile for file backend

* delete copyfile and add get_local_path

* remove isdir method of petrel

* fix typo

* add comment and polish docstring

* polish docstring

* rename _path_mapping to _map_path

* polish docstring and fix typo

* refactor get_local_path

* add list_dir_or_file for FileClient

* add list_dir_or_file for PetrelBackend

* fix windows ci

* Add return docstring

* polish docstring

* fix typo

* fix typo

* deprecate the conversion from Path to str

* add docs for loading checkpoints with FileClient

* refactor map_path

* add _ensure_methods to ensure methods have been implemented

* fix list_dir_or_file

* rename _ensure_method_implemented to has_method

* Add CI for pytorch 1.10 (#1431)

* [Feature] Upload checkpoints and logs to ceph (#1375)

* [Feature] Choose storage backend by the prefix of filepath

* refactor FileClient and add unittest

* support loading from different backends

* polish docstring

* fix unittet

* rename attribute str_like_obj to is_str_like_obj

* [Docs] Upload checkpoint to petrel oss

* add infer_client method

* Support uploading checkpoint to petrel oss

* add check_exist method

* refactor CheckpointHook

* support uploading logs to ceph

* rename var client to file_client

* polish docstring

* enhance load_from_ceph

* refactor load_from_ceph

* refactor TextLoggerHook

* change the meaning of out_dir argument

* fix test_checkpoint_hook.py

* add join_paths method

* remove join_paths and add _format_path

* enhance unittest

* refactor unittest

* add a unittest for EvalHook when file backend is petrel

* singleton pattern

* fix test_clientio.py

* deprecate CephBackend

* add warning in load_from_ceph

* fix type of out_suffix

* enhance docstring

* refactor unittest for petrel

* refactor unittest for disk backend

* update io.md

* add concat_paths method

* fix CI

* mock check_exist

* improve docstring

* improve docstring

* improve docstring

* improve docstring

* add isdir and copyfile for file backend

* delete copyfile and add get_local_path

* remove isdir method of petrel

* fix typo

* rename check_exists to exists

* refactor code and polish docstring

* fix windows ci

* add comment and polish docstring

* polish docstring

* polish docstring

* rename _path_mapping to _map_path

* polish docstring and fix typo

* refactor get_local_path

* add list_dir_or_file for FileClient

* add list_dir_or_file for PetrelBackend

* fix windows ci

* Add return docstring

* polish docstring

* fix typo

* fix typo

* fix typo

* fix error when mocking PetrelBackend

* deprecate the conversion from Path to str

* add docs for loading checkpoints with FileClient

* rename keep_log to keep_local

* refactor map_path

* add _ensure_methods to ensure methods have been implemented

* fix list_dir_or_file

* rename _ensure_method_implemented to has_method

* refactor

* polish information

* format information

* bump version to v1.3.16 (#1430)

* [Fix]: Update test data of test_tin_shift (#1426)

* Update test data of test_tin_shift

* Delete tmp.engine

* add pytest raises asserterror test

* raise valueerror, update test log

* add more comment

* Apply suggestions from code review

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* fix the wrong function reference bug in BaseTransformerLayer when batch_first is True (#1418)

* [Docs] Add mmcv itself in the docs list (#1441)

* Add mmcv itself in the docs list

* modify link of docs

* [Improve] improve checkpoint loading log (#1446)

* [Feature] Support SigmoidFocalLoss with Cambricon MLU backend (#1346)

* [Feature] Support SigmoidFocalLoss with Cambricon MLU backend

* refactor MMCV_WITH_MLU macro define

* refactor NFU_ALIGN_SIZE, PAD_DOWN and split_pipeline_num

* delete extra fool proofing in cpp

* [Feature] Support SigmoidFocalLossBackward with Cambricon MLU backend

* fix macro definition in SigmoidFocalLoss

* refactor mlu files into clang-format

* refactor sigmoid focal loss test

* refactor Sigmoid Focal Loss file structure.

* fix python lint error

* fix import torch_mlu error type

* fix lint

* refactor clang format style to google

Co-authored-by: zhouzaida <zhouzaida@163.com>

* [Feature] Support RoiAlign With Cambricon MLU Backend (#1429)

* [Feature] Support NMS with cambricon MLU backend (#1467)

* [Feature] Support BBoxOverlaps with cambricon MLU backend (#1507)

* [Refactor] Format C++ code

* [Refactor] include common_mlu_helper in pytorch_mlu_helper and refactor build condition

* [Improve] Improve the performance of roialign, nms and focalloss with MLU backend (#1572)

* [Improve] Improve the performance of roialign with MLU backend

* replace CHECK_MLU with CHECK_MLU_INPUT

* [Improve] Improve the perf of nms and focallosssigmoid with MLU backend

* [Improve] Improve the performance of roialign with MLU backend (#1741)

* [Feature] Support tin_shift with cambricon MLU backend (#1696)

* [Feature] Support tin_shift with cambricon MLU backend

* [fix] Add the assertion of batch_size in tin_shift.py

* [fix] fix the param check of tin_shift in cambricon code

* [fix] Fix lint failure.

* [fix] Fix source file lint failure.

* Update mmcv/ops/tin_shift.py

[Refactor] Modify the code in mmcv/ops/tin_shift.py.

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

Co-authored-by: budefei <budefei@cambricon.com>
Co-authored-by: budefei <budefei@cambricom.com>
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* resolve conflicts and fix lint

* fix mmcv.utils.__init__

* fix mmcv.utils.__init__

* Fix lints and change FLAG

* fix setup and refine

* remove a redundant line

* remove an unnecessary 'f'

* fix compilation error

Co-authored-by: dingchang <hudingchang.vendor@sensetime.com>
Co-authored-by: zhouzaida <zhouzaida@163.com>
Co-authored-by: q.yao <yaoqian@sensetime.com>
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
Co-authored-by: pc <luopeichao@sensetime.com>
Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
Co-authored-by: q.yao <streetyao@live.com>
Co-authored-by: Tong Gao <gaotongxiao@gmail.com>
Co-authored-by: Yuxin Liu <liuyuxin@cambricon.com>
Co-authored-by: zihanchang11 <92860914+zihanchang11@users.noreply.github.com>
Co-authored-by: shlrao <shenglong.rao@gmail.com>
Co-authored-by: zhouchenyang <zcy19950525@gmail.com>
Co-authored-by: Mrxiaofei <36697723+Mrxiaofei@users.noreply.github.com>
Co-authored-by: budefei <budefei@cambricon.com>
Co-authored-by: budefei <budefei@cambricom.com>
2022-04-16 15:45:00 +08:00
Qiza-lyhm 4826a9b7e4
[Feature] Support PyTorch backend on MLU (#1770)
* feat(MLU): Support PyTorch backend on MLU

  * MMCV support PyTorch backend on MLU

  * Add MLUDataParallel and MLUDistributedDataParallel

  * Add MLU operator support

* [Fix]: Fix PR comments and add IS_MLU to get device available check

* [Fix]: fix PR comments of dist_utils.py

* [Doc] Rewrite annotations of functions.

* [Docs] Rewrite annotation in distributed.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* [Docs] Fix lint

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2022-04-14 21:48:18 +08:00
q.yao 6289b6f922
[Fix] Fix rocm support (#1704) 2022-03-21 15:24:22 +08:00
q.yao fd3a1a16ea
Add deprecate warning of deployment (#1750) 2022-03-01 15:07:07 +08:00
Zaida Zhou dd82ab1497
Upgrade the version of isort (#1705)
* Upgrade the version of isort

* sort the order of importing modules
2022-02-09 21:29:21 +08:00
Zaida Zhou 8abb3b2909
Deprecate the support for "python setup.py test" (#1637)
* Remove the unnecessary dependency pytest-runner

* remove the tests_requires option from setup.py
2022-01-10 16:28:25 +08:00
Jiazhen Wang d30e37d4d5
[Refactor] refactor requirements (#1536)
* [Improve] build using ninja

* [Refactor] refactor requirements

* [Improve] imporve docs

* [Fix] fix file name
2021-12-29 23:15:11 +08:00
pc a4dc2a72ab
support device dispatch in parrots (#1588) 2021-12-24 00:30:54 +08:00
Ming-Hsuan-Tu 48f44b697a
fix tensorrt test failed with pytorch 1.8+ (#1464)
* fix tensorrt test failed with pytorch 1.8+

* add comment
2021-12-10 19:41:37 +08:00
Zaida Zhou a7c1016758
[Fix] Fix compiled error on windows (#1543)
* [Fix] Fix compiled error on windows

* fix typo
2021-12-01 19:10:11 +08:00
Zaida Zhou 46b2cb376b
[Fix] Fix the compiled error on windows due to the c++14 flag (#1526)
* [Fix] Fix the compiled error on windows due to the c++14 flag

* fix lint
2021-11-28 19:21:41 +08:00
q.yao 230f9a3b80
Refactor csrc with device dispatcher (#1463)
* Add device registry for pytorch ops

* add declaration of CheckDeviceConsistency

* fix for torch130

* assert with torch check

* Refactor ops with dispatch

* update rest ops

* faster install

* update compatibility

* update compatibility, rename parameter

* move cpu implement to pytorch/cpu

* update ops/csrc/README.md

* fix rocm support

* update cn document

* update docs

* list instead of map
2021-11-23 21:59:53 +08:00
Zaida Zhou d3b0572408
Add citation (#1303) 2021-09-01 19:20:01 +08:00
Zaida Zhou 5617ad72d0
[Feature] Add python3.9 in CI (#1291)
* [Feature] Add python3.9 in CI

* fix dependencies for compiling onnx
2021-08-27 16:25:30 +08:00
lizz 81777d1213
Use more cpus in building (#1046)
* Use more cpus in building

Signed-off-by: lizz <lizz@sensetime.com>

* Add psutil to requirements

Signed-off-by: lizz <lizz@sensetime.com>

* fix

Signed-off-by: lizz <lizz@sensetime.com>

* fix

Signed-off-by: lizz <lizz@sensetime.com>

* Hope faster

Signed-off-by: lizz <lizz@sensetime.com>

* fix macos

Signed-off-by: lizz <lizz@sensetime.com>
2021-08-18 19:37:18 +08:00
Haodong Duan 93418560d8
[Fix] Do not depend on setuptools>=52 (#1235)
* use packaging instead

* update

* update

* update

* update
2021-08-10 16:17:59 +08:00
Zaida Zhou dfb48c87ae
[Refactor] Refactor the directory of csrc (#1206)
* [Refactor] Refactor the csrc directory

* update MANIFEST.in

* fix hip

* add csrc readme

* trailing whitespace

* fix syntax error in setup.py

* add compatibility docs

* move parrots_cudawarpfunction.cuh to common/cuda

* fix grammar, update directory tree

* fix MANIFEST.in

* Add new structre of csrc in compatibility.md

* Add original structre of csrc in compatibility.md

* fix typo

* remove TODO

* modify according to comment

* format

Co-authored-by: grimoire <yaoqian@sensetime.com>
2021-08-10 15:09:19 +08:00
Y_Xuan 2dc0a219c1
[Feature] Porting mmcv for hip (#1022)
* porting mmcv for hip

* add nvcc

* fix format

* fix format

* fix bug for carafe

* fix test_utils because rocm_torch not allow set torch.backends.cudnn.benchmark to false

* add LOOSEVERSION

* fix format

* fix format of version

* fix code format

* test for yaml

* fix bug for citest

* fix bug for how to get torch._version_ at setup.py
2021-07-09 21:02:10 +08:00
tangyanf 5504b5fbcf
fix compile without cuda (#945) 2021-04-17 12:16:40 +08:00
z55250825 48d9902585
Add new parrots extension implementation for all ops (#794)
* delete all parrots file
add bbox_overlaps new parrots op impl

* support first new impl parrts op (bbox_overlaps)(success test)

* add box_iou_rotated op, test succeed

* add carafe and carafe_naive op, test succeed (one parrots bug need fix)

* add cc_attention op, test success

* add corner_pool op, test success

* add parrots op deform_conv, test success

* add deform_roi_pool op, test success (but has question)

* add focal loss op, test success (gradcheck)

* add masked_conv2d op, test success

* add modulated_deform_conv op, test success

* add nms and nms_rotated op, test success

* add psamask op, test success

* add roi_align op, test_success

* add roi_pool op, test success

* add sync_bn op, test success

* add tin_shift op, test success

* fix test_deform_roi_pool, add parrots test

* skip test_onnx because parrots does not support onnx

* fix c++ lint

* fix python lint

* fix python lint
2021-02-26 19:05:25 +08:00
q.yao 0de9e149c0
[Feature]: Add custom operators support for TensorRT in mmcv (#686)
* start trt plugin prototype

* Add test module, modify roialign convertor

* finish roi_align trt plugin

* fix conflict of RoiAlign and MMCVRoiAlign

* fix for lint

* fix test tensorrt module

* test_tensorrt move import to test func

* add except error type

* add tensorrt to setup.cfg

* code format with yapf

* fix for clang-format

* move tensorrt_utils to mmcv/tensorrt, add comments, better test module

* fix line endings, docformatter

* isort init, remove trailing whitespace

* add except type

* fix setup.py

* put import extension inside trt setup

* change c++ guard, update pytest script, better setup, etc

* sort import with isort

* sort import with isort

* move init of plugin lib to init_plugins.py

* resolve format and add test dependency: tensorrt

* tensorrt should be installed from source not from pypi

* update naming style and input check

* resolve lint error

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2021-01-06 11:05:19 +08:00
q.yao 94810f2297
[Feature]: Add custom operators support for onnxruntime in mmcv (#612)
* add onnx support to roi_align and roi_pool

* add softnms ort support

* fix for lint

* format cpp code with clang-format:google

* add new empty line to the end of head files in onnxruntime

* update to pytorch1.7

* add test of softnms to onnxruntime

* fix for lint

* remote print in ops/info.py

* change import order, fix for flake8

* fix include

* add assert torch>=1.7.0

* [doc]: add document for onnxruntime custom operator

* update onnxruntime version to v1.5.1 for softnms

* remove doc menu

* Resolve lint for markdown

* resolve naming style in onnxruntime_op.md

* Use old cpp apis, optimize test_onnx.py

* Fixing strings in tests/test_ops/test_onnx.py

* code format with yapf

* fix soft_nms parrot

* add import in onnxruntime setup, avoid conflict

* fix doc and add assert

* change cpp guard

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2020-12-23 11:03:55 +08:00
Rui Xu b7136e3953
[Refactor] remove the c implementation of flow_warp (#707)
* remove flow-warp-c

* remove flow warp in setup.py and imports

* fix floor and ceil bug

* fix broadcast bug

* add warnings and assertions

* fix bilinear bug

* pass unit test

* pass unit test

* pass unit test

* pass unit test

* fix value bug

* fix lint

* fix lint

* add mk lint

* update docs

* update docs

* fix bug in imports

* fix bug in setup.py
2020-12-13 19:43:25 +08:00
Kai Chen 03214fd446
Support pytorch 1.7 and update the CI (#631)
* support pytorch 1.7 and update the CI

* fix CI

* fix onnxruntime version in macos
2020-10-31 17:58:15 +08:00
David de la Iglesia Castro c8146cc52b
Skip opencv requirement if it's already installed in the env (i.e. via conda) (#616)
* Skip opencv requirement if it's already installed in the env

* pre-commit

* Check opencv conda version

* Check opencv conda version
2020-10-17 17:58:25 +08:00
Kai Chen 487f381f25
fix docs (#440) 2020-07-21 14:48:16 +08:00
Kai Chen cc70cf8ec3
bump version to 1.0.0 (#402) 2020-07-09 02:57:38 +08:00
Jerry Jiarui XU 192b3b3ceb
use env to control compile op or not (#400)
* use env to control compile op or not

* use str as env var

* update readme

* update rc01

* update readme

Co-authored-by: Kai Chen <chenkaidev@gmail.com>
2020-07-09 02:19:02 +08:00
Wenwei Zhang 18d6372027
Rewrite readme.rst by markdown (#391)
* Rewrite readme.rst by markdown

* Update setup.py

* Update mmcv links

* clean code

* Add logo

* Resolve comments

* clean unnecessary code change
2020-07-08 01:20:27 +08:00
Yuanhao Zhu b18a33833e
fix macOS compile (#386) 2020-07-07 01:00:37 +08:00
Kai Chen 63b7aa31b6
Fix docstring formats (#383)
* update doc formats

* update docstring
2020-07-04 00:55:25 +08:00
zhuyuanhao e43fe0e243
remove cuda args (#372) 2020-06-29 21:14:09 +08:00