Skip to content

Commit

Permalink
Add mlu impl for mmcv ops (DeepLink-org#51)
Browse files Browse the repository at this point in the history
* Add mlu impl for mmcv ops
- support bangc compile
- support mmcv ops
  - diopiBboxOverlapsMmcv
  - diopiRoiAlignMmcv
  - diopiRoiAlignBackwardMmcv

* Fix lint and reviews

* Add cncc flag

* Add op impl for focal_loss_sigmoid
  • Loading branch information
CokeDong authored May 23, 2023
1 parent 4b1481d commit 6834e28
Show file tree
Hide file tree
Showing 15 changed files with 4,083 additions and 2 deletions.
21 changes: 19 additions & 2 deletions DIOPI-IMPL/camb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,45 @@ project(camb_impl)

option(TEST "whether to test by using conformance test" OFF)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

find_package(Neuware 4.6 REQUIRED)
if (NEUWARE_FOUND)
set(USE_CAMB ON)
set(CMAKE_CNCC_FLAGS "${CMAKE_CNCC_FLAGS};-fPIC;--bang-device-only")
message(STATUS "Cambricon Neuware Root: ${NEUWARE_ROOT_DIR}")
message(STATUS "Cambricon Neuware Home: ${NEUWARE_HOME}")
message(STATUS "Cambricon Neuware Version: ${NEUWARE_VERSION}")
message(STATUS "Cambricon CNCC Flags: ${CMAKE_CNCC_FLAGS}")
message(STATUS "Cambricon CNCC Targets: ${CNCC_TARGETS}")
else()
message(FATAL_ERROR "No Cambricon Neuware toolkit found.")
endif()

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${NEUWARE_HOME}/cmake"
"${NEUWARE_HOME}/cmake/modules"
)
find_package(BANG)
if(BANG_FOUND)
set(BANG_CNCC_FLAGS "${BANG_CNCC_FLAGS};-fPIC;-std=c++14;-pthread;--bang-mlu-arch=mtp_220;--bang-mlu-arch=mtp_270;--bang-mlu-arch=mtp_290;--bang-mlu-arch=mtp_372;--bang-mlu-arch=mtp_592;-O3;-Wall")
message(STATUS "BANG_CNCC_FLAGS: ${BANG_CNCC_FLAGS}")
else()
message(FATAL_ERROR "BANG cannot be found.")
endif()

file(GLOB_RECURSE IMPL_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} functions/*.cpp common/*.cpp)
file(GLOB_RECURSE IMPL_SRC_MMCV RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} functions_mmcv/*.cpp)
file(GLOB_RECURSE IMPL_SRC_MMCV_MLU RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} functions_mmcv/*.mlu)
list(APPEND IMPL_SRC cnnl_helper.cpp)
list(APPEND IMPL_SRC ${IMPL_SRC_MMCV})
list(APPEND IMPL_SRC ${IMPL_SRC_MMCV_MLU})

if (TEST)
add_subdirectory(test)
endif()

add_library(${DEVICEIMPL} SHARED ${IMPL_SRC})
BANG_ADD_LIBRARY(${DEVICEIMPL} SHARED ${IMPL_SRC})

# third_party include
set(THIRD_PARTY_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../third_party/half/include)
Expand Down
Loading

0 comments on commit 6834e28

Please sign in to comment.