Графические процессоры (GPU) стали важной частью современной вычислительной техники, превратившись из устройств для рендеринга графики в критически важные компоненты для ИИ, обработки данных и высокопроизводительных вычислений. GPU состоят из множества вычислительных блоков, в основном простых арифметико-логических устройств (ALU), которые часто дополняются специализированными ядрами, такими как тензорные и RT ядра. Эти специализированные ядра позволяют параллельно обрабатывать сложные уравнения с векторами, матрицами и тензорами. В этой статье мы рассмотрим конкуренцию между AMD и NVIDIA, выясняя, почему AMD постоянно отстает от NVIDIA в ускорении GPU и гонке ИИ, и изучим исторические, технологические и стратегические факторы, которые сформировали это соперничество.
GPGPU *
Технология Nvidia для реализации алгоритмов
Новости
Портируем видеоаналитику на новые платформы: 8 простых шагов
Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.
Сохраняйте, чтобы под рукой иметь план на случай, если задумаете исследовать возможность развертывания системы видеоаналитики на целевом устройстве.
Ускорение генерации токена LLM в два раза для больших контекстов
Самые популярные 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
Solar Dozor – это не просто DLP-система, а настоящий страж корпоративных данных, с более чем 20-летним опытом на рынке. Благодаря своей отказоустойчивости, масштабируемости и высокой производительности система востребована крупнейшими организациями России и СНГ.
Суперсила Solar Dozor – умение распознавать графические данные. С помощью технологии нейронной сети или, так называемого компьютерного зрения Dozor детектирует изображения и «понимает», что на них изображено. Система умеет идентифицировать паспорта, банковские карты, печати и даже технические чертежи, оформленные по ГОСТу. Это позволяет системе эффективно защищать корпоративные данные от утечек, распознавая и блокируя передачу конфиденциальных документов.
Истории
Коммивояжер на GPU
Мы уже решали задачу коммивояжёра точно методом динамического программирования. С тех пор прошло немало времени. Мне бы хотелось поделиться некоторыми соображениями по улучшению алгоритма, а также представить алгоритм пригодный для расчёта задачи коммивояжера на GPU.
Динамическое программирование — это метод решения сложных задач путём разбиения их на более мелкие подзадачи, решение которых легче и проще.
Основная идея метода заключается в том, чтобы не решать одну и ту же подзадачу многократно, а сохранять результаты решения подзадач и повторно использовать их для ускорения общего процесса решения.
Часть 1. GPU-Based Fuzzing. Что за зверь такой?
Всем привет!
При изучении темы фаззинг‑тестирования всегда возникает вопрос, насколько сильно можно увеличить количество выполнений приложения в секунду. Иначе говоря — как ускорить фаззинг?
В последнее время одно из популярных направлений — искусственный интеллект, его создание и обучение. Лично я от этой темы далек, однако имею представление, что лучшего всего он (ИИ) обучается на видеокартах. Более того, обучение может происходить с использованием облака.
И так, с одной стороны мы имеем фаззинг, который надо ускорить, с другой — большое количество вычислительных ресурсов на основе видеокарт из‑за активного развития ИИ. Так почему бы не попробовать использовать эти ресурсы во благо ИБ?
Как AI помогает побороть монополию в спортивной рекламе и при чем тут GPU и выделенные серверы
Спортивные соревнования сегодня переполнены рекламой — от роликов на экранах до статичных логотипов компаний на рекламных щитах стадионов. Эфир охватывает множество стран, в которых представлены различные бренды и действуют разные законы о рекламе. Благодаря прорыву в развитии ИИ и AR-технологий появляется возможность замены информации на поле под каждую аудиторию, причем непосредственно во время трансляции матча.
Вот как vega 3 показала себя в тестах с athlon gold 3150u в моих играх в сравнении с amd 780m
Привет, друзья! Сегодня я хочу рассказать вам о своем опыте с 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 в большой языковой модели: обо всех фокусах в одном посте
От переводчика: выражаю огромную искреннюю благодарность Дмитрию Малову @malovdmitrijза консультации по ходу этого перевода, помощь в подборе формулировок, пояснение рисунков и незаменимую человеческую поддержку.
tldr; в статье рассмотрены приёмы, позволяющие ускорить обучение больших языковых моделей (LLM) и нарастить в них логический вывод. Для этого нужно использовать большое контекстное окно, в котором умещается до 100K входных токенов. Вот эти приёмы: ALiBi с подмешиванием в вектор позиции слова в последовательности (positional embedding), разреженное внимание (Sparse Attention), мгновенное внимание (Flash Attention), многозапросное внимание, условные вычисления и GPU A100 на 80 ГБ.
taichi.js: Программируем на WebGPU без боли
Привет, Хабр! Сегодня хочу предложить вашему вниманию перевод на русский язык статьи моего коллеги и хорошего приятеля Dunfan Lu. Он создал taichi.js
- open-source фреймворк для программирования графики на WebGPU, и написал подробный туториал как его использовать на примере знаменитой "Игры жизни". Уверен, эта сложная и красивая работа на стыке технологий рендеринга и компиляции не оставит вас равнодушными. - пр. переводчика.
Как можно ускорить Python сегодня
Python не перестаёт удивлять многих своей гибкостью и эффективностью. Лично я являюсь приверженцем С и Fortran, а также серьёзно увлекаюсь C++, поскольку эти языки позволяют добиться высокого быстродействия. Python тоже предлагает такие возможности, но дополнительно выделяется удобством, за что я его и люблю.
Этот инструмент способен обеспечивать хорошее быстродействие, поскольку имеет в арсенале ключевые оптимизированные библиотеки, а также возможность динамической компиляции основного кода, который предварительно не компилировался. Однако скорость Python значительно падает, когда дело доходит до обработки крупных датасетов или более сложных алгоритмов. В текущей статье мы разберём:
- Почему столь важно думать о «будущем разнородных вычислений».
- Две ключевых сложности, которые необходимо преодолеть в открытом решении.
- Параллельное выполнение задач для более эффективного задействования CPU.
- Использование ускорителя для дополнительного повышения быстродействия.
Один только третий пункт позволил увеличить быстродействие в 12 раз притом, что четвёртый позволяет добиться ещё большего за счёт ускорителя. Эти простые техники могут оказаться бесценными при работе с Python, когда требуется добиться дополнительного ускорения программы. Описанные здесь приёмы позволяют нам уверенно продвигаться вперёд без длительного ожидания результатов.
Пишем кастомные CUDA-ядра на Triton
Triton – это языковой компилятор для создания сильно оптимизированных ядер CUDA. Здесь будут изложены основы программирования для GPU и рассказано, как для этой цели используется Triton.
Учитывая нынешний успех глубокого обучения и вал исследовательских статей на эту тему, часто возникает такая ситуация: рождается какая-нибудь новая идея, и выясняется, что для нее не поддерживается аппаратное ускорение. Точнее, стоит вам изобрести новую функцию активации или механизм самовнимания – нам сразу приходится прибегать к возможностям PyTorch/Tensorflow для обработки прямого и обратного прохода через модуль.
В таких случаях применим, например, PyTorch JIT. Но PyTorch JIT – это высокоуровневый компилятор, способный оптимизировать лишь некоторые части кода, но непригодный для написания специализированных ядер CUDA.
Запуск кода CUDA на видеокартах AMD
Большая часть приложений использующих ускорение при помощи видеоускорителей основаны на платформе CUDA. Есть ли выход из этой ситуации у владельцев видеокарт от AMD?
Ближайшие события
Нужен ли вам GPU-сервер
Сегодня никого не удивляет, что процессоры видеокарт обладают большей вычислительной мощностью, чем процессоры компьютеров. Эту особенность давно оценили все, кто нуждается в высокопроизводительных вычислениях, тем более, что сами производители видеокарт поддерживают такой режим их использования, выпустив библиотеки для использования видеопроцессора в так называемом General Purpose режиме.
Тенденцию подхватили и производители оборудования. На волне популярности криптовалют в продаже появились майнинговые фермы, а когда восторги поутихли, обнаружились и более сбалансированные решения для высокопроизводительных вычислений — GPU-сервера.
В этом посте поговорим о том, чем GPU-сервер отличается от майнинг-фермы и о том, как устроен GPU-сервер.
Как подготовиться к собеседованию в Samsung Advanced Computing Lab
Я работаю проектировщиком аппаратного блока графического процессора в телефонах Samsung, в рамках совместного проекта с AMD. Сейчас наш менеджмент расширяет команду и поощряет инженеров распостранять информацию о новых позициях среди своих знакомых. Я решил написать это пост для более широкой аудитории, так как множество людей, способных пройти интервью на RTL или DV позицию - больше, чем множество моих знакомых. Если вы сможете прислать мне ответ на задачку в моем посте вместе с вашим резюме, я перешлю его нанимающему менеджеру и рекрутеру нашей группы (в комментах прошу ответ не писать). Если резюме им понравится, вам нужно будет пройти стандартное собеседование на несколько часов, с несколькими инженерами, у каждого из которых свой набор задачек.
Также я покажу материалы, по которым можно готовиться к собеседованию, особенно если вы студент или у вас ограниченный опыт в микроэлектронной промышлености.
Тезисы, сформулированные во время распития чая, о процессе интервью, с позиции интервьирующего
В моей жизни было четыре периода, когда я активно принимал участие в интервьировании людей на работу. В 1998 для своего стартапа в области программ для проектирования микросхем, в 2010-11 для MIPS Technologies (компания среднего размера но престижная в свое время в узком кругу процессоростроителей), в 2019 для Wave Computing (хайповый стартап в хардверном AI) и сейчас для Samsung (на позиции дизайнеров графических процессоров телефонов). Я не собирался писать длинный текст, но пока я пью чай, набросаю несколько тезисов, первое, что приходит в голову:
Оптимизация препроцессинга и постпроцессинга нейросети Yolov5 с помощью CUDA, Thrust и Nvidia Perfomance primitives
В этой статье я расскажу как мы оптимизировали препроцессинг и постпроцессинг для инференса Yolov5 на одноплатнике Jetson Nano, полностью отказавшись от OpenCV.
Вычисляем на видеокартах. Технология OpenCL. Часть 2. Алгоритмы в условиях массового параллелизма
Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки.
1. Зачем мы здесь собрались. Краткая история GPGPU.
1a. Как работает OpenCL.
1b. Пишем для OpenCL.
2. Алгоритмы в условиях массового параллелизма.
Реальные примеры, как ИИ оптимизирует дизайн микросхем
Перегруженность интегральной схемы, где через отдельные участки проходит слишком много цепей (красным цветом)
Сегодня в РФ рассматриваются планы создать полноценную инфраструктуру для производства микросхем, организовать 300 дизайн-центров с штатом минимум по 100 профильных специалистов и запустить новые фабрики. В этой связи интересно посмотреть, какие методы ML используются в проектировании современной микроэлектроники. Что-то можно перенять для отечественных разработок.
Ректоры и президенты неожиданно согласились рассказать студентам, что их ждет в микроэлектронике
Мы на Школе Синтеза двадцать суббот учили школьников и студентов проектировать процессоры на FPGA. Для выпуска мы решили пригласить крутых топов, и на наше удивление, откликнулись сразу семеро:
1. Александр Редькин, гендир и основатель компании Syntacore, которая разрабатывает будущий флагман российcких процессоров для линуксных ноутбуков - суперскаляр с внеочередным исполнением инструкций, совместимый по системе команд с архитектурой RISC-V.
2. Сергей Сергеевич Шумилин - заместитель директора по науке компании Миландр, российского лидера по разработке микроконтроллеров, пионера лицензирования ядер ARM и надежды российcких пользователей ПЛИС.
3. Николай Суетин - главный микроэлектронщик фонда Сколково, бывший руководитель R&D Интела в России.
4. Сергей Михайлович Абрамов - член-корреспондент РАН, руководитель разработки суперкомпьютера СКИФ и других HPC проектов.
5. Игорь Рубенович Агамирзян - бывший менеджер Микрософта, Российской Венчурной Компании, вице-президент Высшей Школы Экономики и программист.
6. Александр Тормасов - ректор Иннополиса, Chief Scientist компании Parallels, гуру виртуализации, лектор по компьютерной архитектуре.
7. Тимур Палташев - известный специалист по архитектуре компьютерной графики, c 25-летним опытом в Silicon Valley и работой с питерским ИТМО.
UPD: Потом присоединились:
8. Окунев Константин Евгеньевич - Директор по технологическому развитию ГК «Элемент»
9. Максимов Евгений Викторович - Директор по развитию экосистемы и образовательных инициатив Группы компаний YADRO
Вообще мы планировали бОльшую часть времени в субботу разбирать микроархитектурные задачки на верилоге, но раз так, то будем устраивать устраивать сессию на тему "лидеры индустрии и академии расскажут, какие следущие шаги предпринять после решения микроархитектурных задачек, чтобы стать лидерами индустрии и академии". И ответят на вопросы.
Это состоится в субботу 23 апреля в Капсуле №2 Технопарка Сколково в 12:00.
Вклад авторов
ThisIsZolden 346.0pavel_kudinov 188.0ALEX_k_s 180.0AndrewSu 177.0ForhaxeD 162.0MaxFX 159.0fyodorser 100.0alizar 97.0xjossy 82.0Nikkolo 80.0