Рубрика «CUDA»

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

Читать полностью »

Как AMD выкрутилась и научилась воспроизводить операции ядер CUDA на своих видеокартах. История ROCm - 1


Как AMD смогла обойти монополию NVIDIA в мире ИИ? История о том, как команда AMD создала ROCm — технологию, позволяющую запускать CUDA-приложения на своих видеокартах. Как компании удалось совершить этот технологический прорыв? Разберём путь от первых экспериментов с HSA до современных версий ROCm, поддерживающих самые популярные фреймворки для машинного обучения. А главное — в конце расскажу, как установить ROCm на Windows и Linux, избежав всех подводных камней. Читать полностью »

Вычисления с GPU-ускорением на Python - 1

❯ Для чего нужен GPU?

Читать полностью »

Рисуем фракталы на Rust и CUDA - 1

Фракталы — это бесконечные самоподобные фигуры. Они определяются простыми математическими формулами, которые создают удивительную красоту!

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

Множество Мандельброта

Читать полностью »

Я не понимаю, как на это реагировать. Некий товарищ полгода спрашивает у меня советы как начать с Verilog/FPGA/ASIC, но при этом ничего не начинает, хотя его вопросы становятся все более экзотическими. Чтобы было понятнее, опишу как бы это выглядело для программирования. Предположим к вам пришел молодой человек и спрашивает как научиться программировать. Вы ему говорите что-нибудь типа:

Читать полностью »

Пример работы гауссова сплэтинга. Этот ролик — не видеосъёмка реального мира, а рендер в реальном времени на настольном компьютере

Всплеск внимания к технике сплэтинга связан с представленной в августе этого года статьей 3D Gaussian Splatting for Real-Time Radiance Field Rendering [Трёхмерный гауссов сплэтинг для рендера radiance field в реальном времени]. До этого, в июле, эта научная работа исследователей Университета Лазурного берега, Института информатики Общества Макса Планка и французского Национального института исследований в информатике и автоматике вошла в пятёрку лучших работ SIGGRAPH 2023.

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

Сейчас исследователи бьются над поиском практического применения технологии и сканированием движения. В оригинальной работе речь идёт о воссоздании в первую очередь статичных сцен.
Читать полностью »

Многим известно, что CUDA является наиболее часто используемой платформой для ускорения массовых параллельных вычислений, применяемых в различных практических и исследовательских областях.

В 2016 году AMD представила в буквальном смысле клон платформы CUDA — ROCm. Альтернативы модулей CUDA для ROCm можно увидеть в таблице с официального сайта AMD.

Таблица соответствия модулей платформ

Модуль платформы CUDA

Модуль платформы ROCm

cuBLAS

Читать полностью »

Цель данной статьи – поднять вопросы распараллеливания кода программы для численного моделирования методом молекулярной динамики (МД) с помощью технологии CUDA. Зачем это вообще нужно, ведь уже существуют программные пакеты по МД, работающие в том числе и на CUDA? Дело в том, что я развиваю свою собственную концепцию «непостоянного поля сил» (non-constant force field), которая не реализована в существующих МД-программах.

Переделывать чужой код под эти нужды – довольно неблагодарное занятие, поэтому я взялся перенести уже написанный свой последовательный код и заодно поделится некоторыми размышлениями. Кроме того, это ответ на часто мелькающий здесь комментарий к статьям по CUDA, вроде этого .

Итак, что же такое молекулярная динамика? На Хабре уже есть несколько постов на эту тему, например здесь или вот здесь. Кратко, МД – это метод, позволяющий моделировать движение множества частиц (в том числе атомов, ионов, молекул) и рассчитывать коллективные свойства системы, зависящие от этого движения. Как это работает? Допустим для множества из N частиц заданы некоторые начальные координаты, скорости, массы и (главное!) законы взаимодействия между ними. Изменяем координаты согласно скоростям. На основе законов взаимодействия вычисляем силы, действующие между частицами. Раз знаем силу и массу – знаем ускорение. Поправляем скорость с учетом ускорения. И снова переходим к изменению координат. И так повторяем тысячи раз, пока не надоест не наберем достаточную статистику.

image
Читать полностью »

Привет!

Сегодня мы затрагиваем актуальнейшую тему — Python для работы с GPU. Автор рассматривает пример, тривиальный в своей монструозности, и демонстрирует решение, сопровождая его обширными листингами. Приятного чтения!

Как GPU-вычисления буквально спасли меня на работе. Пример на Python - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js