Обновить
0.48

GPGPU *

Технология Nvidia для реализации алгоритмов

Сначала показывать
Порог рейтинга
Уровень сложности

Гетерогенные вычисления: проектирование и разработка вычислительной системы для нейросетей

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.5K

Всем привет! Меня зовут Дарья Ильянова, и сегодня я хочу поделиться с вами опытом создания гетерогенной вычислительной системы для нейросетей, над которой мы работали в команде студентов Инженерно-математической школы НИУ ВШЭ и VK. Вместе с Филиппом Баулиным и Артемом Минеевым мы спроектировали прототип аппаратно-программного ускорителя для машинного обучения.

Читать далее

Метод «Безумного Макса» для тренировки проектировщиков кастомных вычисляющих структур

Время на прочтение6 мин
Количество просмотров2.2K

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

Как натренировать такое умение? Для новых домашних работ в программе Школы Синтеза Цифровых Схем мы решили разодрать на блоки реальный процессор и дать студентам задачу собирать разные специализированные вычислительные устройства из этих блоков, примерно как герои фильма "Безумный Макс: Дорога ярости" собирали свои боевые драндулеты из частей реальных автомобилей.

В качестве первой жертвы мы выбрали ...

Ускорение LUP-разложения матрицы с помощью OpenCL

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.5K

Я являюсь автором проекта по математическому моделированию прикладной механики и в работе моей программы до 90% вычислительного времени уходит на решение системы линейных уравнений. Цель этой статьи сугубо практическая - найти оптимальный метод решения системы линейных уравнений с точки зрения производительность/трудозатрат для небольшого проекта и рассказать о результате.

В прошлом я уже несколько раз обращал внимание на вычисления на GPU, но всегда что-то останавливало. И вот у меня накопился достаточный практический опыт программирования на C/C++ и наконец дошли руки, чтобы протестировать OpenCL.

Читать далее

«Да будет свет!», — подумали мы. И стал свет. Краткая история обучения нейросветодизайнера нейросветодизайну

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.1K

Давным-давно, скажем, этим летом, нас посетила удачная мысль включить повсюду свет и озарить ночные города. Так родился проект по обучению нейросети сложному искусству светодизайна.   

Разумеется, мы были не первыми, кто до этого додумался, но поскольку бум ИИ удачно наложился на развитие инфраструктуры и появление новых зданий в разных городах РФ (а еще осень, темно, холодно) – было решено взяться за дело. Светодизайн зданий – сложная область, которая удачно сочетает в себе архитектурное проектирование, инженерные достижения, дизайн и человеческий гений. В помощь последнему мы решили добавить искусственный интеллект. Оказалось, что после долгих тренировок он способен:

Читать далее

Никакого праздника без GPU: дообучение BERT на Vertex AI

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров3.3K

Этот материал посвящён ускорению обучения моделей с использованием бессерверных заданий. В частности, речь пойдёт о том, как запускать обучение с применением Pytorch, GPU и платформы Vertex.

Читать далее

Графические ускорители: битва между AMD и NVIDIA

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.6K

Графические процессоры (GPU) стали важной частью современной вычислительной техники, превратившись из устройств для рендеринга графики в критически важные компоненты для ИИ, обработки данных и высокопроизводительных вычислений. GPU состоят из множества вычислительных блоков, в основном простых арифметико-логических устройств (ALU), которые часто дополняются специализированными ядрами, такими как тензорные и RT ядра. Эти специализированные ядра позволяют параллельно обрабатывать сложные уравнения с векторами, матрицами и тензорами. В этой статье мы рассмотрим конкуренцию между AMD и NVIDIA, выясняя, почему AMD постоянно отстает от NVIDIA в ускорении GPU и гонке ИИ, и изучим исторические, технологические и стратегические факторы, которые сформировали это соперничество.

Читать далее

Портируем видеоаналитику на новые платформы: 8 простых шагов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров858

Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.

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

Читать далее

Ускорение генерации токена LLM в два раза для больших контекстов

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.6K
Помимо ChatGPT и многочисленных конкурентов в облаке с веб-мордами и/или API, существует огромная экосистема для запуска LLM на собственном железе. На Huggingface на любой бюджет найдется модель для скачивания, которая влезет в видеопамять (или в RAM, можно и на CPU запускать, если пользователь терпеливый). Вчера здесь на Хабре была очень неплохая обзорная статья.

Самые популярные open source тулы для локального запуска LLM — llama.cpp и vllm (и их многочисленные обертки). У них немного разные ниши, и дальше я буду писать о llama.cpp. Она поддерживает все возможные комбинации железа и ОС — Linux, MacOS, Windows; x86 CPU, Arm, Apple Silicon CPU & GPU, Nvidia, AMD,… Но автор и мейнтейнер — Георгий Герганов использует для разработки Mac Studio. Почему такой выбор железа?

Производительность генерации каждого токена LLM в одном потоке ограничена вычислительной мощностью в процессе построения KV-кэша (анализ промпта до генерации первого токена), и пропускной способностью памяти при генерации последующих токенов. При этом в обоих случаях очень полезно уметь быстро загружать веса из видеопамяти в ALU видеокарты (или CPU).
Читать дальше →

Как в Solar Dozor внедрили новую технологию детектирования графических объектов с использованием GPU

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.4K

Solar Dozor – это не просто DLP-система, а настоящий страж корпоративных данных, с более чем 20-летним опытом на рынке. Благодаря своей отказоустойчивости, масштабируемости и высокой производительности система востребована крупнейшими организациями России и СНГ.

Суперсила Solar Dozor – умение распознавать графические данные. С помощью технологии нейронной сети или, так называемого компьютерного зрения Dozor детектирует изображения и «понимает», что на них изображено. Система умеет идентифицировать паспорта, банковские карты, печати и даже технические чертежи, оформленные по ГОСТу. Это позволяет системе эффективно защищать корпоративные данные от утечек, распознавая и блокируя передачу конфиденциальных документов.

Читать далее

Коммивояжер на GPU

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.3K

Мы уже решали задачу коммивояжёра точно методом динамического программирования. С тех пор прошло немало времени. Мне бы хотелось поделиться некоторыми соображениями по улучшению алгоритма, а также представить алгоритм пригодный для расчёта задачи коммивояжера на GPU.

Динамическое программирование — это метод решения сложных задач путём разбиения их на более мелкие подзадачи, решение которых легче и проще.

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

Читать далее

Часть 1. GPU-Based Fuzzing. Что за зверь такой?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2K

Всем привет!

При изучении темы фаззинг‑тестирования всегда возникает вопрос, насколько сильно можно увеличить количество выполнений приложения в секунду. Иначе говоря — как ускорить фаззинг?

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

И так, с одной стороны мы имеем фаззинг, который надо ускорить, с другой — большое количество вычислительных ресурсов на основе видеокарт из‑за активного развития ИИ. Так почему бы не попробовать использовать эти ресурсы во благо ИБ?

Читать далее

Как AI помогает побороть монополию в спортивной рекламе и при чем тут GPU и выделенные серверы

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1K

Спортивные соревнования сегодня переполнены рекламой — от роликов на экранах до статичных логотипов компаний на рекламных щитах стадионов. Эфир охватывает множество стран, в которых представлены различные бренды и действуют разные законы о рекламе. Благодаря прорыву в развитии ИИ и AR-технологий появляется возможность замены информации на поле под каждую аудиторию, причем непосредственно во время трансляции матча.

Читать далее

Вот как vega 3 показала себя в тестах с athlon gold 3150u в моих играх в сравнении с amd 780m

Время на прочтение2 мин
Количество просмотров5.2K

Привет, друзья! Сегодня я хочу рассказать вам о своем опыте с AMD Vega 3 - лучшей энергоэффективной игровой встройкой от AMD или вот как Vega 3 показала себя в тестах с Athlon Gold 3150U в моих играх в сравнении с AMD 780M.?

Для начала, что такое Vega 3 и AMD 780M? Vega 3 - это встроенный графический процессор, который используется в недорогих процессорах Ryzen 3 и Athlon Gold. Он основан на архитектуре Vega (5-е поколение GCN) и имеет 3 CU (= 192 из 704 шейдеров), работающих на частоте до 1200 МГц. AMD 780M - это новый интегрированный графический процессор в процессорах Ryzen 7040 серии (Phoenix, например, Ryzen 9 7940HS). Он основан на новой архитектуре RDNA3 и имеет 12 CU (= 768 шейдеров), работающих на частоте до 3 ГГц.

Как вы можете видеть, AMD 780M выглядит намного мощнее и современнее, чем Vega 3. Но не спешите делать выводы! Я решил проверить, как они справляются с моими любимыми играми на ноутбуке с Athlon Gold 3150U (2 ядра, 4 потока, базовая частота 2.4 ГГц, максимальная частота 3.3 ГГц) и на ноутбуке с Ryzen 7 7840U (8 ядер, 16 потоков, базовая частота 3.3 ГГц, максимальная частота 5.1 ГГц). Вот что у меня получилось:

Читать далее

Ближайшие события

Как сделать контекстное окно на 100K в большой языковой модели: обо всех фокусах в одном посте

Время на прочтение17 мин
Количество просмотров12K

От переводчика: выражаю огромную искреннюю благодарность Дмитрию Малову @malovdmitrijза консультации по ходу этого перевода, помощь в подборе формулировок, пояснение рисунков и незаменимую человеческую поддержку.

tldr; в статье рассмотрены приёмы, позволяющие ускорить обучение больших языковых моделей (LLM) и нарастить в них логический вывод. Для этого нужно использовать большое контекстное окно, в котором умещается до 100K входных токенов. Вот эти приёмы: ALiBi с подмешиванием в вектор позиции слова в последовательности (positional embedding), разреженное внимание (Sparse Attention), мгновенное внимание (Flash Attention),  многозапросное внимание, условные вычисления и GPU A100 на 80 ГБ.  

Читать далее

taichi.js: Программируем на WebGPU без боли

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K

Привет, Хабр! Сегодня хочу предложить вашему вниманию перевод на русский язык статьи моего коллеги и хорошего приятеля Dunfan Lu. Он создал taichi.js - open-source фреймворк для программирования графики на WebGPU, и написал подробный туториал как его использовать на примере знаменитой "Игры жизни". Уверен, эта сложная и красивая работа на стыке технологий рендеринга и компиляции не оставит вас равнодушными. - пр. переводчика.

Читать далее

Как можно ускорить Python сегодня

Время на прочтение10 мин
Количество просмотров24K

Python не перестаёт удивлять многих своей гибкостью и эффективностью. Лично я являюсь приверженцем С и Fortran, а также серьёзно увлекаюсь C++, поскольку эти языки позволяют добиться высокого быстродействия. Python тоже предлагает такие возможности, но дополнительно выделяется удобством, за что я его и люблю.

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

  1. Почему столь важно думать о «будущем разнородных вычислений».
  2. Две ключевых сложности, которые необходимо преодолеть в открытом решении.
  3. Параллельное выполнение задач для более эффективного задействования CPU.
  4. Использование ускорителя для дополнительного повышения быстродействия.

Один только третий пункт позволил увеличить быстродействие в 12 раз притом, что четвёртый позволяет добиться ещё большего за счёт ускорителя. Эти простые техники могут оказаться бесценными при работе с Python, когда требуется добиться дополнительного ускорения программы. Описанные здесь приёмы позволяют нам уверенно продвигаться вперёд без длительного ожидания результатов.
Читать дальше →

Пишем кастомные CUDA-ядра на Triton

Время на прочтение7 мин
Количество просмотров5.4K
image

Triton – это языковой компилятор для создания сильно оптимизированных ядер CUDA. Здесь будут изложены основы программирования для GPU и рассказано, как для этой цели используется Triton.

Учитывая нынешний успех глубокого обучения и вал исследовательских статей на эту тему, часто возникает такая ситуация: рождается какая-нибудь новая идея, и выясняется, что для нее не поддерживается аппаратное ускорение. Точнее, стоит вам изобрести новую функцию активации или механизм самовнимания – нам сразу приходится прибегать к возможностям PyTorch/Tensorflow для обработки прямого и обратного прохода через модуль.

В таких случаях применим, например, PyTorch JIT. Но PyTorch JIT – это высокоуровневый компилятор, способный оптимизировать лишь некоторые части кода, но непригодный для написания специализированных ядер CUDA.
Читать дальше →

Запуск кода CUDA на видеокартах AMD

Время на прочтение3 мин
Количество просмотров49K

Большая часть приложений использующих ускорение при помощи видеоускорителей основаны на платформе CUDA. Есть ли выход из этой ситуации у владельцев видеокарт от AMD?

Читать далее

Нужен ли вам GPU-сервер

Время на прочтение5 мин
Количество просмотров8.5K

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

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

В этом посте поговорим о том, чем GPU-сервер отличается от майнинг-фермы и о том, как устроен GPU-сервер. 

Читать далее

Как подготовиться к собеседованию в Samsung Advanced Computing Lab

Время на прочтение7 мин
Количество просмотров12K

Я работаю проектировщиком аппаратного блока графического процессора в телефонах Samsung, в рамках совместного проекта с AMD. Сейчас наш менеджмент расширяет команду и поощряет инженеров распостранять информацию о новых позициях среди своих знакомых. Я решил написать это пост для более широкой аудитории, так как множество людей, способных пройти интервью на RTL или DV позицию - больше, чем множество моих знакомых. Если вы сможете прислать мне ответ на задачку в моем посте вместе с вашим резюме, я перешлю его нанимающему менеджеру и рекрутеру нашей группы (в комментах прошу ответ не писать). Если резюме им понравится, вам нужно будет пройти стандартное собеседование на несколько часов, с несколькими инженерами, у каждого из которых свой набор задачек.

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

Читать далее