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

OSCHINA-MIRROR/OAL-AutoKernel

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 5.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 20:46 7eecf56

AutoKernel

Введение

С распространением искусственного интеллекта постоянно появляются новые сети глубокого обучения. Чтобы различные аппаратные средства (CPU, GPU, NPU и т. д.) могли поддерживать приложения глубокого обучения, для каждого типа чипов требуются библиотеки программного обеспечения для поддержки высокопроизводительных тензорных вычислений. В настоящее время эти высокопроизводительные вычислительные библиотеки в основном разрабатываются опытными инженерами HPC (высокопроизводительных вычислений). Чтобы ускорить процесс разработки и сократить цикл внедрения приложений глубокого обучения, автоматизация оптимизации операторов становится тенденцией.

AutoKernel — это инструмент для автоматической оптимизации высокопроизводительных операторов, предложенный OPEN AI LAB. Он может автоматически оптимизировать стратегии планирования, генерировать оптимизированный код нижнего уровня, значительно снижать стоимость разработки операторов для различных чипов, повышать эффективность оптимизации операторов и позволять инженерам быстрее внедрять высокопроизводительное развёртывание алгоритмов глубокого обучения на различных аппаратных средствах.

Особенности AutoKernel:

  • автоматизация;
  • высокая эффективность;
  • низкий порог входа.

Архитектура AutoKernel

AutoKernel состоит из трёх модулей:

  1. Генератор операторов использует широко используемый в отрасли проект с открытым исходным кодом Halide. Halide впервые предложил отделить вычисления от планирования. Вход этого модуля представляет собой описание вычислений оператора, не зависящее от оборудования, а выход — оптимизированный ассемблерный код/целевой файл соответствующего бэкенда.
  2. Модуль автоматического поиска AutoSearch может использовать оптимальные алгоритмы/алгоритмы поиска/машинное обучение/усиленное обучение для поиска оптимальных параметров стратегии планирования для разных бэкэндов, таких как x86-cpu, cuda-gpu, arm-cpu и arm-mali-gpu. AutoSearch интегрирует последние достижения в области автоматической оптимизации в академических кругах (этот модуль находится в стадии разработки).
  3. Плагин оператора AutoKernel Plugin. Tengine — это открытая среда глубокого обучения для вывода, разработанная OPEN AILAB, которая реализует быструю и эффективную реализацию алгоритмов ИИ на различном оборудовании. Этот модуль реализует интеграцию автоматически сгенерированного оптимизированного кода оператора в виде плагина в Tengine, реализуя автоматическую оптимизацию и одноэтапное развёртывание оператора.

Мы предоставляем следующие три образа Docker, которые включают Halide и Tengine для удобства разработчиков:

  • cpu: openailab/autokernel;
  • cuda: openailab/autokernel:cuda;
  • opencl: openailab/autokernel:opencl.

Конкретный Dockerfile см. в каталоге Dockerfiles.

[Примечание]: Для использования образа cuda требуется nvidia-docker. Инструкции по установке см. в руководстве по установке nvidia-docker.

nvidia-docker pull openailab/autokernel:cuda
nvidia-docker run -it openailab/autokernel:cuda /bin/bash

Лицензия Apache 2.0.

Технические обсуждения Github issues, QQ группа: 829565581.

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

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

1
https://api.gitlife.ru/oschina-mirror/OAL-AutoKernel.git
git@api.gitlife.ru:oschina-mirror/OAL-AutoKernel.git
oschina-mirror
OAL-AutoKernel
OAL-AutoKernel
main