1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ascend-cann_op_contrib

Клонировать/Скачать
README_zh.md 16 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 22:08 355d3d9

cann_op_contrib

View on English

Введение в репозиторий экосистемы операторов

Репозиторий экосистемы операторов предоставляет операторы экосистемы для использования разработчиками. Разработчики могут использовать этот репозиторий для разработки, компиляции и сборки пакетов операторов экосистемы, а также их развертывания.## Краткое описание структуры директорий Структура директорий исходного кода представлена ниже.

cann_op_contrib
cmake
external
Содержит файлы компиляции сторонних библиотек
util
Содержит файлы компиляции утилит
dependencies.cmake
community
common
inc
Основное содержание заголовочных файлов утилит и прототипов операторов
src
Основное содержание файлов реализации утилит и прототипов операторов
utils
Основное содержание файлов утилит реализации операторов
ops
add (на примере оператора add)
ai_core
impl
add.py - файл реализации оператора в формате DSL/TIK
op_info_cfg
ascend310
add.ini - файл конфигурации информации об операторе
ascend310p
add.ini - файл конфигурации информации об операторе
ascend910
add.ini - файл конфигурации информации об операторе
ascend910b
add.ini - файл конфигурации информации об операторе
op_tiling
add_tiling.cc файл оператора tiling
ai_cpu
impl
add.cc код реализации оператора
add.h заголовочный файл реализации оператора
op_info_cfg
add.ini конфигурационный файл информации об операторе
framework
onnx
add_plugin.cc код плагина для адаптации оператора к фреймворку ONNX
tf
add_plugin.cc код плагина для адаптации оператора к фреймворку TF
caffe
add_plugin.cc код плагина для адаптации оператора к фреймворку Caffe
op_proto
inc
add_op.h файл прототипа IR регистрации оператора
add_proto.cc Файл реализации прототипа оператора
add_custom(Разработка оператора TBE способом Ascend C)
ai_core
op_host
add_custom_tiling.h Регистрация Tiling
add_custom.cpp Реализация Tiling и настройка базы данных операторов, регистрация прототипа оператора
op_kernel
add_custom.cpp Реализация логики оператора
framework
onnx
add_custom_plugin.cc Код плагина для адаптации оператора к фреймворку ONNX
tf
add_custom_plugin.cc Код плагина для адаптации оператора к фреймворку TensorFlow
caffe
add_custom_plugin.cc Код плагина для адаптации оператора к фреймворку Caffe
tests
add(На примере оператора add)
ut
aicpu
test_add_gen_data.py Скрипт генерации тестовых данных, имя файла должно оканчиваться на gen_data.py
add_utest.cc UT для реализации оператора AICPU
op_proto
test_add_proto.cc UT для прототипа оператора
tbe
test_add_gen_data.py Скрипт генерации тестовых данных, имя файла должно оканчиваться на gen_data.py
test_add_impl.py UT для примера использования DSL/TIK для оператора
ascendc
add_ascendc_gen_data.py Скрипт генерации тестовых данных, имя файла должно оканчиваться на gen_data.py
add_ascendc_ut.cc UT для реализации оператора способом Ascend C
tiling
add_tiling_ut.cc UT для кода Tiling
скрипты
ai_core_parse_ini.py скрипт для парсинга конфигурации tbe оператора
CANN_OP_CONTRIB_install.sh скрипт для развертывания операторов из экосистемы
gen_ops_filter.sh скрипт для генерации файлов с информацией об операторах при разработке операторов Ascend C-способом
gen_test_data.py скрипт для генерации тестовых данных для UT-тестирования
gen_ascendc_code.py скрипт для генерации соответствующих python файлов для реализации операторов Ascend C-способом
install_run.sh скрипт для установки run-пакета из экосистемы
parse_ini.py скрипт для парсинга конфигурации оператора aicpu
run_aicpu_ut.sh скрипт для UT-тестирования реализации оператора aicpu
run_op_proto_ut.sh скрипт для UT-тестирования прототипа оператора
run_tbe_ut_all.py скрипт для UT-тестирования операторов tbe, разработанных способом DSL/TIK
run_ascendc_ut.sh скрипт для UT-тестирования операторов TBE, разработанных Ascend C-способом
run_tiling_ut.sh скрипт для UT-тестирования кода Tiling
CMakeLists.txt скрипт для cmake-компиляции из экосистемы
build.sh скрипт для компиляции, который запускает компиляцию кода из экосистемы и изменяет пути к компилируемым файлам
pack.sh скрипт для упаковки run-пакета из экосистемы

Требования к среде разработки

Перед компиляцией и сборкой исходного кода необходимо установить соответствующие пакеты разработки (toolkit) и пакеты разработки операторов (communitysdk) для соответствующей платформы из сообщества.

Ссылка на страницу загрузки пакетов и руководство пользователя

Пакет communitysdk следует распаковать в путь установки toolkit (например, ~/Ascend/ascend-toolkit/latest/).

Настройка переменных окружения может быть выполнена с помощью ссылки (https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/63RC1alpha001/softwareinstall/instg/instg_bk_000040.html). Кроме того, необходимо выполнить следующую настройку:

export SOC_VERSION=Ascend910A

Примечание: SOC_VERSION — это опциональная переменная окружения. Если она не установлена, по умолчанию используется Ascend910 при компиляции и тестировании. Разработчики должны установить её в соответствии с используемым типом чипа, обычно это Ascend910 или Ascend310. Пользователи могут найти дополнительные настройки в каталоге ~/Ascend/ascend-toolkit/latest/toolkit/tools/simulator.## Компиляция и упаковка операторов Для разработки операторов следует обратиться к руководству по разработке операторов, выполнить необходимые реализации и соблюдать требования к структуре каталогов, как указано в [кратком описании структуры каталогов](#краткое описание структуры каталогов). Выполняйте скрипт компиляции и упаковки в командной строке. Примечание: Окружение должно быть настроено с переменной окружения ASCEND_CUSTOM_PATH, обычно она устанавливается по умолчанию на путь ~/Ascend/ascend-toolkit/latest.

./pack.sh

Если вы хотите выполнить только опции компиляции, вы можете выполнить отдельно скрипт компиляции.

./build.sh

Примечание: build.sh также может выполнять функцию тестирования UT, методы можно увидеть, выполнив команду помощи. ./build.sh -h ## Установка пакета операторов Выполните команду установки пакета операторов для установки. Примечание: Перед установкой убедитесь, что в окружении установлена переменная окружения ASCEND_OPP_PATH, в противном случае установка не будет выполнена.

./CANN_OP_CONTRIB_linux-x86_64.run --install

Примечание: Параметры установочного пакета можно просмотреть с помощью -h. ./CANN_OP_CONTRIB_linux-x86_64.run -h

Документация по разработке операторов

Для получения более подробной информации о руководствах по разработке, учебных программах и API, обратитесь к руководству по обучению.## Вклад Вклады приветствуются. Для получения дополнительной информации обратитесь к нашему Wiki вкладчиков.

Лицензия

Apache License 2.0

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ascend-cann_op_contrib.git
git@api.gitlife.ru:oschina-mirror/ascend-cann_op_contrib.git
oschina-mirror
ascend-cann_op_contrib
ascend-cann_op_contrib
master