Проект VeriGPU объявил о разработке открытого GPU

В рамках проекта Представлен VeriGPU Несколько дней назад начал работу по разработке открытого графического процессора, который призван разрабатываться под язык моделирования и описания электронных систем Verilog.

Тем, кто не знаком с VeriGPU, следует знать, что он позиционируется как специализированный процессор (ASIC), оптимизированный для ускорения вычислений, связанных с системами машинного обучения.

способ начать, проект разрабатывается с использованием симулятора Verilog, но после того, как он будет готов, его можно будет использовать для производства настоящих чипсов.

Планы включают поддержку среды глубокого обучения PyTorch. и возможность разработки приложений для VeriGPU с использованием API HIP (Heterogeneous Computing Interface). В будущем не исключено включение поддержки других API, таких как SYCL и NVIDIA CUDA.

Важно отметить, что разработка этого GPU направлена ​​непосредственно на обучение машинному обучению. Таким образом, в идеале он должен поддерживать современные платформы машинного обучения, такие как PyTorch и Tensorflow, а это означает, что он почти наверняка должен поддерживать NVIDIA CUDA или AMD HIP.

Хотя упоминается и то, что Я знаю, что могу реализовать интерфейс OpenCL или SYCL, хотя поддержка основных фреймворков в настоящее время ограничена. В DeepCL есть специальная среда глубокого обучения OpenCL, но она имеет относительно ограниченный набор слоев нейронной сети и возможных сетевых топологий по сравнению с PyTorch и Tensorflow.

В настоящее время мы не собираемся реализовывать выполнение вне очереди, т. е. запуск одной инструкции до того, как запустится предыдущая, потому что это сложно в сценарии многопоточности с одной инструкцией (SIMT), и потому что это заставляет ядра использовать больше площади кристалла. , и, следовательно, их меньше (или они дороже).

С другой стороны, мы будем реализовывать параллельное выполнение инструкций, когда мы запускаем инструкцию, в то время как предыдущая инструкция все еще выполняется. Это стандартный и довольно легкий, он не занимает слишком много места на кристалле.

Никакого кэширования в настоящее время не реализовано (ни уровня 1, ни уровня 2, ни уровня 3, ни даже кэширования инструкций :P). Поскольку я намереваюсь создать GPU с другим механизмом кэширования, чем у CPU, я подумаю об этом, как только он станет больше похож на GPU.

Графический процессор развивается на основе набора инструкций RISC-V., но получившаяся внутренняя архитектура набора инструкций GPU плохо совместима с RISC-V ISA, так как в ситуациях, когда компоновка GPU не соответствует рендерингу RISC-V, помимо не постановки задачи поддержания совместимости с RISC-V .

С момента разработки фокусируется на возможностях, необходимых для систем машинного обучения, поэтому для уменьшения размера и сложности массива микросхем используется только формат с плавающей запятой BF16, и используются только те операции с плавающей запятой, которые востребованы для машинного обучения, такие как exp, log, tanh и sqrt. имеется в наличии.

Среди уже доступных компонентов, например, драйвер GPU, APU (Accelerated Processing Unit) для целочисленных операций («+»,»-«,»/»,»*»), модуль для операций с плавающей запятой («+», »*») и ответвления, а также поддержка компилятора HIP.

Для создания приложений предоставляется ассемблер и поддержка компиляции кода C++ на основе LLVM. Из ожидаемых возможностей выделяются параллельное выполнение инструкций, кэширование данных и память инструкций, операции SIMT (Single Instruction Multiple Thread).

Наконец, если вам интересно узнать об этом больше о разработке этого графического процессора с открытым исходным кодом, вы должны знать, что разработки проекта распространяются по лицензии MIT, и вы можете ознакомиться с кодом, а также с ходом проекта от по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.