metadef
— это определение метаданных для Ascent, которое включает в себя соответствующие структуры данных и определения внешних интерфейсов.
metadef
├── error_manager # Определения соответствующих кодов ошибок
├── exe_graph
| ├── lowering # Реализация интерфейсов для построения выполнения графа
| ├── runtime # Реализация интерфейсов для выполнения графа
├── graph # Реализация интерфейсов графа, включая модуль кэширования графа и сериализацию
├── inc
| ├── common # Некоторые общие заголовочные файлы
| ├── exe_graph # Заголовочные файлы для выполнения графа
| ├── external # Заголовочные файлы для внешнего использования (обеспечивающие совместимость)
| ├── graph # Заголовочные файлы для интерфейсов графа
| ├── register # Заголовочные файлы для регистрации операторов
├── proto # Определения протоколов для графа
├── register # Реализация регистрации операторов
├── tests # Каталог для тестирования разработчиками
Перед компиляцией исходного кода убедитесь, что ваше окружение удовлетворяет следующим требованиям:- Установлен пакет CANN (Ascend-cann-toolkit_<cann_version>_linux-<arch>).
Пакет CANN можно получить с ссылки. Поддерживаемые способы установки и операционные системы указаны в соответствующем руководстве пользователя.
Пример команды для установки пакета CANN:
- Установка по умолчанию
```shell
./Ascend-cann-toolkit_<cann_version>_linux-<arch>.run --install
```
- Если установка выполняется пользователем root, после завершения установки все программы будут расположены по пути `/usr/local/Ascend/ascend-toolkit/latest`.
- Если установка выполняется пользователем, не являющимся root, после завершения установки все программы будут расположены по пути `$HOME/Ascend/ascend-toolkit/latest`.
- Установка в определенное место
```bash
# Пример команды для установки пакета CANN:
./Ascend-cann-toolkit_<cann_version>_linux-<arch>.run --install --install-path=${install_path}
```
После завершения установки все программы будут расположены по пути `${install_path}`.
# Пример команды установки:
sudo apt-get install ccache
graph-easy
(необязательно)# Пример команды установки:
sudo apt-get install libgraph-easy-perl
```## Скачивание исходного кода
git clone https://gitee.com/ascend/metadef.git
Настройте переменную окружения ASCEND_INSTALL_PATH
, чтобы указать путь к хранению связанных программ после установки Ascend-cann-toolkit
.
Пример настройки для сценария установки Ascend-cann-toolkit
с использованием пользователя root и по умолчанию:
export ASCEND_INSTALL_PATH=/usr/local/Ascend/ascend-toolkit/latest
Пример настройки для сценария установки Ascend-cann-toolkit
с использованием пользователя, отличного от root, и по умолчанию:
export ASCEND_INSTALL_PATH=$HOME/Ascend/ascend-toolkit/latest
Пример настройки для сценария установки Ascend-cann-toolkit
в пользовательском пути, если путь установки равен ${install_path}:
export ASCEND_INSTALL_PATH=${install_path}/ascend-toolkit/latest
Примечание:
Если разработчик использует IDE CLion для последующей компиляции исходного кода и выполнения тестовых примеров, перед компиляцией и выполнением необходимо выполнить настройку CMake в CLion. Подробнее см. Настройка CLion.
Репозиторий Metadef
зависит от некоторых сторонних библиотек. Перед основной компиляцией необходимо выполнить компиляцию сторонних библиотек. Команда для этого следующая:
bash build_third_party.sh --output_path=${THIRD_LIB_PATH}
Эта команда загружает все исходные коды сторонних библиотек, затем выполняет их компиляцию и копирует результаты в выходной каталог. - Параметр third_party_pkg_path
Если этот параметр указан, скрипт будет использовать исходные коды сторонних библиотек из указанного каталога, в противном случае они будут загружены онлайн.
Параметр enable_github
Исходные коды сторонних библиотек могут быть загружены из двух источников: gitee
и github
. Если параметр third_party_pkg_path
не указан, скрипт будет загружать исходные коды сторонних библиотек онлайн. Если параметр enable_github
указан, загрузка будет выполнена с github
, в противном случае с gitee
.
Параметр output_path
Каталог для хранения результатов компиляции задается этим параметром, и его значение по умолчанию равно ./output/third_party
. Результаты компиляции третьих сторон могут быть сохранены на длительное время и не требуют перекомпиляции каждый раз, если зависимости не изменились.
Вы можете просмотреть подробное описание опций скрипта с помощью команды bash build_third_party.sh -h
.
Когда указанный каталог исходного кода является локальным, требуется следующая структура каталога: ```angular2html some-path-name └── libs ├── abseil-cpp │ └── abseil-cpp-20220623.1.tar.gz ├── benchmark │ └── v1.5.5.tar.gz ├── boost │ └── boost_1_82_0.tar.gz ├── cares │ └── c-ares-cares-1_18_1.tar.gz ├── ge_gtest │ └── release-1.11.0.tar.gz ├── ge_nlohmann_json │ └── v3.11.2 │ └── include.zip ├── grpc │ └── grpc-v1.41.1.tar.gz ├── libjpeg-turbo │ └── 2.1.1.tar.gz ├── openssl │ └── openssl-3.0.9.tar.gz ├── protobuf │ └── protobuf-all-3.14.0.tar.gz ├── pybind11 │ └── v2.10.3.tar.gz ├── re2 │ └── re2-2021-11-01.tar.gz ├── symengine │ └── v0.10.1.zip └── zlib └── zlib-v1.2.13.tar.gz
`Metadef` предоставляет возможность однокнопочного запуска компиляции, которая может быть выполнена следующей командой:
```shell
bash build.sh --ascend_install_path=${ASCEND_INSTALL_PATH} --ascend_3rd_lib_path=${THIRD_LIB_PATH}
Значение по умолчанию для опции --ascend_install_path
равно /usr/local/Ascend/ascend-toolkit/latest
. После завершения компиляции в каталоге output/package
будет создан пакет CANN-metadef-linux.<arch>.run
, где <arch>
представляет архитектуру операционной системы и может принимать значения x86_64
и aarch64
.
Скрипт build.sh
по умолчанию ищет библиотеки третьих сторон в каталоге ./output/third_party
. Если при выполнении build_third_party.sh
указан другой каталог для хранения библиотек третьих сторон, его можно настроить с помощью опции build.sh --ascend_3rd_lib_path=<указанный каталог библиотек третьих сторон>
.
Дополнительные параметры компиляции можно просмотреть с помощью команды bash build.sh -h
.
Репозиторий Metadef
предоставляет возможность однокнопочного запуска компиляции и выполнения тестов для разработчиков. Подробные настройки можно просмотреть с помощью команды bash tests/run_test.sh -h
.
bash tests/run_test.sh -u --ascend_install_path=${ASCEND_INSTALL_PATH} --ascend_3rd_lib_path=${THIRD_LIB_PATH}
Значение по умолчанию для опции --ascend_install_path
равно /usr/local/Ascend/ascend-toolkit/latest
.
Скрипт tests/run_test.sh
ищет пути к библиотекам третьих сторон так же, как и скрипт build.sh
.## Установка
После компиляции установка может быть выполнена следующей командой:
./CANN-metadef-linux.<arch>.run --full --install-path=${install_path}/ascend-toolkit
Если вы хотите откатить установку пользовательского пакета metadef
до состояния после установки Ascend-cann-toolkit
, выполните следующую команду.
./CANN-metadef-linux.<arch>.run --rollback --install-path=${install_path}/ascend-toolkit
Для репозитория Metadef
разработчики должны учитывать следующие моменты при подготовке локального кода и создании запроса на включение (PR):
Если разработчики используют IDE CLion для компиляции исходного кода и выполнения тестовых примеров, перед компиляцией и выполнением необходимо выполнить следующие настройки:
-DENABLE_OPEN_SRC=True
-DENABLE_METADEF_UT=True
-DENABLE_METADEF_ST=True
-DASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH}
-DASCEND_3RD_LIB_PATH=${THIRD_LIB_PATH}
ASCEND_INSTALL_PATH
см. в разделе Настройка переменных окружения.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )