Рубрика «CUDA»

Что бывает, если не следовать инструкциям

Что бывает, если не следовать инструкциям

Специалисты из сферы ИИ часто сталкиваются с задачей корректной настройки сервера с GPU. Лично я с этой задачей сталкиваюсь в последнее время даже слишком часто...

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

Наверное, я очень опоздал с изучением CUDA. До недавнего времени даже не знал, что CUDA — это просто C++ с небольшими добавками. Если бы я знал, что изучение её пойдёт как по маслу, я бы столько не медлил. Но если у вас есть багаж привычек C++ , то код на CUDA у вас будет получаться низкокачественным. Поэтому расскажу вам о некоторых уроках, изученных на практике — возможно, мой опыт поможет вам ускорить код.

Слияние блоков памяти

Если у вас множество потоков, работающих над одним массивом в C++, то, вероятно, вы попробуете перебрать его таким образом:

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

Ведущий разработчик ChatGPT и его новый проект — Безопасный Сверхинтеллект - 1


Многие знают об Илье Суцкевере только то, что он выдающийся учёный и программист, родился в СССР, соосновал OpenAI и входит в число тех, кто в 2023 году изгнал из компании менеджера Сэма Альтмана. А когда того вернули, Суцкевер уволился по собственному желанию в новый стартап Safe Superintelligence («Безопасный Сверхинтеллект»).

Илья Суцкевер действительно организовал OpenAI вместе с Маском, Брокманом, Альтманом и другими единомышленниками, причём был главным техническим гением в компании. Ведущий учёный OpenAI сыграл ключевую роль в разработке ChatGPT и других продуктов. Сейчас Илье всего 38 лет — совсем немного для звезды мировой величины.Читать полностью »

Введение

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

В этой статье мы разберем, как реализовать бэктестинг на чистом Python, посмотрим сколько времени могут занимать вычисления, а также попробуем найти разные способы оптимизации.

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

Построение множества Мандельброта — классический пример чрезвычайно параллельной задачи (embarrassingly parallel problem).

Вначале мы разберем наивную реализацию, поиграемся с интринсиками (intrinsics) и, не теряя переносимости, заставим компилятор генерировать нам SIMD-инструкции. Далее добавим многопоточность и в заключение обесценим все наши старания несколькими строчками на CUDA.

Разгон Мандельброта: SIMD с бубнами, OpenMP и CUDA - 1

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

Сортировка слиянием на CUDA - 1


Я решил изучить, как повысится производительность алгоритмов сортировки при их реализации на CUDA. Моя цель — понять, как можно использовать мощь параллельных вычислений для ускорения алгоритмов сортировки.

В качестве тестового я возьму алгоритм сортировки слиянием (merge sort), потому что он удобно разбивает задачу на меньшие подзадачи с двумя равными половинами, что хорошо подходит для параллельных вычислений.Читать полностью »

В прошлой части дизассемблировали код прошивки ECM последнего поколения мотоциклов в Ghidra, подправили его и запустили на тестовой плате Aurix TC275 Lite Kit, получили возможность обмениваться с ним сообщениями CAN и отлаживать его в winIDEA. Теперь настало время посмотреть, что же там интересного.

Глава 1. Цифровая шина мотоцикла

ECM, Engine Harness, 2022 Softail

ECM, Engine Harness, 2022 Softail

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

Intel oneAPI: обзор амбизициозной платформы для ИИ и научных вычислений от Intel для всех архитектур и производителей - 1


Представьте, что вы можете запустить одну и ту же программу на любом компьютере, будь то ваш домашний ПК, игровая консоль или даже суперкомпьютер. Звучит фантастично? Intel с 2020 года работает над тем, чтобы сделать это реальностью с помощью платформы oneAPI. Эта инновация обещает не только изменить то, как мы используем искусственный интеллект, но и упростить процесс разработки программного обеспечения. Вместо того чтобы адаптировать код под каждую платформу, разработчики смогут писать универсальные приложения, которые будут эффективно работать на самых различных устройствах, обеспечивая при этом высокую производительность. Более того, уже сейчас на платформу портируют код CUDA, вроде проектов как интерфейс Stable Diffusion 1111.

Но что это значит для обычного пользователя?Читать полностью »

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

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

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

Я работаю в компании Nomic, и многие из моих коллег заняты созданием больших TSNE-подобных визуализаций, работающих в браузере. При визуализации таких двумерных карт возникает две проблемы: проецировать эти конструкции (напр. TSNE и UMAPЧитать полностью »


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