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

OSCHINA-MIRROR/cann-cann-halo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.en.md

Интеграция ODLA Ascend. Руководство по использованию

Окружение

Аппаратное окружение

Сервер Atlas300I (3000), объём памяти более 16 ГБ, свободное место на корневом диске более 64 ГБ. Установите последние версии драйверов и микропрограмм в соответствии с руководством пользователя.

Программное окружение

gcc/g++: версия gcc/g++ сервера более 7.5.0. docker: установите docker на сервере.

Конфигурация Docker

  1. Скачайте образ ODLA Docker как root. Следуйте руководству по подготовке окружения ODLA для получения образа CPU Docker:
docker pull registry-intl.us-west-1.aliyuncs.com/computation/halo:latest-devel-x86_64-ubuntu18.04
  1. Измените скрипт запуска ODLA image start_docker_cpu.sh, чтобы добавить сопоставление драйверов Atlas300I, измените:
ID=`docker run $docker_run_flag --privileged --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -t -d --name $CONTAINER_NAME -v $MOUNT_DIR:/host  --tmpfs /tmp:exec --rm $IMAGE `

на:

ID=`docker run $docker_run_flag --privileged --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --net=host -t -d --name $CONTAINER_NAME --cap-add LINUX_IMMUTABLE --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/devmm_svm --device=/dev/hisi_hdc -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver/:/usr/local/Ascend/driver -v $MOUNT_DIR:/host  --tmpfs /tmp:exec $IMAGE `
  1. Запустите скрипт для запуска контейнера Docker.
  2. Установите Python 3.7.5 с помощью кода ресурсов в контейнере Docker. Следуйте инструкции установки Python 3.7.5 (Ubuntu), установите зависимости, скомпилируйте, установите и задайте переменные окружения.
  3. Добавьте пользователя HwHiAiUser в контейнер Docker: (1) Выполните команду на хост-сервере:
id HwHiAiUser

чтобы получить идентификатор пользователя gid HwHiAiUser на хосте. (2) Создайте пользователя HwHiAiUser в контейнере Docker:

groupadd -g <gid> HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && echo ok

Замените gid значением, полученным в (1). 6. Скопируйте /etc/ascend_install.info с хоста в каталог /etc/ контейнера Docker. 7. Установите последнюю версию пакета CANN для Atlas300I. Загрузите последнюю коммерческую или общественную версию и следуйте руководству по эксплуатации, чтобы установить cann ascend-toolkit.

Интеграция Halo Ascend

  1. Следуйте руководству [ODLA readme](https://github.com/alibaba/heterogeneity-aware-lowerin g-and-optimization/blob/master/docs/how_to_build.md), чтобы загрузить репозиторий halo:

git clone https://github.com/alibaba/heterogeneity-aware-lowering-and-optimizati on.git --recurse-submodules -j8

  1. Загрузите код halo ascend:

git clone https://gitee.com/cann/cann-halo.git

  1. Скопируйте cann-halo/ascend в heterogeneity-aware-lowering-and-optimization/ODLA/platforms/.
  2. Измените heterogeneity-aware-lowering-and-optimization/ODLA/platforms/CMakeLists.txt, добавьте:
option(ODLA_BUILD_ASCEND "Build ODLA Runtime Library for ASCEND" ON)
if (ODLA_BUILD_ASCEND)
  add_subdirectory(ascend)
endif()
  1. Создайте каталог сборки в каталоге heterogeneity-aware-lowering-and-optimization/ и скомпилируйте halo:
source /usr/local/Ascend/ascend-toolkit/set_env.sh

mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DODLA_BUILD_TRT=NO -G Ninja ..
ninja 

HALO_ROOT — это каталог кода halo, вы должны настроить его в соответствии со своей реальностью. Если в каталоге build/lib будет сгенерирован libodla_ascend.so, это означает успешную интеграцию.

Демонстрация интеграции Resnet50_v2 с Ascend

Для интеграции ascend в halo odla необходимо внести следующие изменения:

  1. Добавить запись ascend в [демонстрационный скрипт входа resnet50_v2](https://github.com/alibaba/heterogeneity-aware-lowering-and-optimization/blo b/master/models/vision/classification/resnet/run_resnet_v2_50.sh):
if [[ $TEST_WITH_ASCEND -eq 1 ]];

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cann-cann-halo.git
git@api.gitlife.ru:oschina-mirror/cann-cann-halo.git
oschina-mirror
cann-cann-halo
cann-cann-halo
master