Обновить
143

Пользователь

0,1
Рейтинг
100
Подписчики
Отправить сообщение

Я тут тоже рубин и стекло с церием снимал. И ИН-12 и ИВ.

А, вот оно что... Понятно.

Речь именно про порядок производной или про их количество? Здесь в комментариях изящно заменили одно на другое.

Сдаётся мне, это игры в науку, а не реально используемые вещи. Была тут статья про полёт квадрокоптера. И моменты двигателя там вводили и чёрти что ещё. А реальные квадрокоптеры просто используют ПИД-регуляторы и плевали на эту теоретическую базу в которой половина коэффициентов неизвестна в принципе.
Так что динамика полёта ракеты, полагаю, обеспечивается именно таким же регулятором в БЦВС (она, кстати, далеко не аналоговая и даже цифровая далеко не мощная), а не вот этими вот уравнениями.

320 млн операций в секунду для уравнений до 20 порядка

Дифференциальное уравнение двадцатого порядка? Да даже шестого! Что за задачи требуют таких порядков производной? :O

Ну да, но из текста выглядит так, что фамилия была всегда.

Каждому отдельному потоку (треду) на GPU выдаются свои координаты в трехмерной сетке. Из координаты nw мы вытягиваем индекс картинки в батче n и индекс конкретного канала c (ведь у нас Depthwise-свёртка, канал обрабатывается изолированно). Координаты row и col — это пиксель (строка и столбец) на нашей выходной картинке.


Это вы свёртки ускоряли на GPU? Вот так?

Два цикла бегут по окну 3х3. Внутри стоит жесткая проверка: если мы вылезли за границы картинки (в те самые области паддинга), мы просто ничего не делаем (считаем, что там виртуальный ноль). Если мы внутри картинки, то считаем плоский индекс в памяти inp_idx (привет, channel-last формат NHWC), забираем значение пикселя, умножаем на вес из w и докидываем в общую копилку sum_val.

Если у вас GPU, то не надо так делать - это крайне медленно. Ваша задача свести свёртку к умножению тензоров. Эта та операция, которую GPU делает лучше всего. Либо на CUDA-ядрах с разделяемой памятью, либо на тензорных тоже с ней же. Это для произвольного ядра, конечно. Алгоритмы типа Винограда для фиксированных ядер работают быстрее.
Так вот, вот моя реализация всей обвязки свёрток и прочей математики на CUDA/тензорных ядрах вот такая вот (там внутри GAN, VAE, диффузионная сеть - во что компилируется выбирается в cuda.cu).
Там в файле ctensormath.cu.h реализация абстрактного умножения тензоров, а в файле ctensorconv.cu.h свёртки, обратные свёртки и расчёт обратного распространения через них.

Одна беда - я уже забыл, как эти картинки расшифровываются. :-D Хотя сам их и рисовал для понятности для себя. :-D
Там суть умножения в том, что вот эти вот матрицы не хранятся, а их элементы получаются и записываются "на лету" через STensorKernel - это такая абстрактная обёртка над свёрточными ядрами, матрицами весов, тензорами поправок ядер и так далее (их там несколько таких классов). То есть, умножения выполняются с тензорами STensorKernel нужного типа, а они уже сами раскидывают координаты умножаемых матриц в нужные объекты, к которым привязаны и выдают нужный элемент с учётом шага, дополнения, размера ядер и так далее.

А да, там, кстати, можно и на CPU-версию переключиться в settings.h. Там свёртки сделаны не через умножение, а циклами.

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

Да. Перевел Tesla p100 в режим графики вместо вычислительного. А вот v100 потребовала смены компьютера на более современный. У нее графического режима нет.

Вся разница между режимами в диапазоне адресов на шине.

В DooM нет полигонов. Там есть отрезки (сегменты и линии раздела). На плоскости. И высоты пола и потолка в секторах.

Боги! Кто сказал вам такую глупость? Вы думаете, в DooM рендер не рисует стены по столбцам? А вы в DooM оригинальный играли? :) Обратите внимание на то, что голову там наклонять нельзя. Обратите внимание, как меняется картинка в Blood или Duke Nukem 3D, когда вы наклоняете голову.
Вам дать движок?

Берите:

https://github.com/da-nie/3DEngine-Universal

https://github.com/da-nie/3dEngine-Editor

А вот пример игры для MS-DOS, которую я написал в 2002 году.

https://github.com/da-nie/Doom4
Код там вам не понравится (я только начал С++ изучать тогда), но рендер там рабочий.

А если хотите полной трёхмерности, то вот:

https://github.com/da-nie/SoftwareGraphicsLibrary

Какого времени? Wolf-3d это 1992 или около того. Doom это 1993. И в Doom нифига не трассировка лучей, а именно bsp-дерево, что и описано в моей статье. Duke Nukem 3d 1997 года.

В движке Catlantean 3D используется традиционный рейкастинг.

Да зачем он вам... Он у каждого первого. Пойдите вы дальше по пути самодельных рендеров. Ничего там сложного нет.

Был он крепостным у помещицы Анны Петровны Левашовой,

Вот это вот удивляет. Крепостные в те года фамилий, обычно, не имели, насколько мне известно. Та же Арина Родионовна никакой фамилии не имела. Госкрестьяне, однодворцы, служивые, казаки и духовенство - это да. Но крепостные...

А их у Алексея Ивановича и Агриппины Александровны было аж 22 (10 мальчиков и 12 девочек), из которых до совершеннолетия дожили 18.

А вот это, кстати, очень круто. Я сколько метрики не изучал за 400 лет своей родословной (там 2300 человек в дереве), детей максимум 15 рождалось. А тут аж 22!

Вот как там чип выгляди с банками памяти.

Каких банок памяти? Разве они там в чип не интегрированы? По-моему, там все на одном кристалле.

Там ресурс такой, что фиг его выработаешь так легко. В серверах с водянкой они грелись градусов до 50-60, а то и ниже.

А что касается софта - уж не знаю, зачем авторы гонятся за версиями CUDA всё выше и выше. Полагаю, все эти проекты (кроме тензорных ядер поколения выше 1) можно запустить на V100.
Я брал себе такую игрушку, потому как я с нуля на С++ прямо под CUDA и тензорные ядра напрямую пишу нейронку с обучением. У себя я могу любую версию CUDA поставить для компиляции (и для V100 ставлю 7, хотя установлена 12). Кстати, с версией ниже 7 проект не запускается на V100. Возможно, авторы этого софта ставят версии CUDA, так как современные на данный момент карты с младшими версиями не желают работать. Вот и приходится компилировать под старшую версию, чтобы у большинства запустилось. Очень сомневаюсь, что всё это из-за каких-то нововведений в CUDA старших версий.

С теслами-то? Никакой подставы. Просто с датацентров списывают и всё. С турбинкой она перегревается до 82 и начинает снижать производительность. Ей надо 300 Вт рассеивать. Там хорошее охлаждение нужно.
У неё только видеовыхода нет. Но с grid-драйверами от google я вполне себе играл на ней через встройку.

Сработало. Плата считывает обороты вентилятора, и он реагирует на ШИМ. Теперь я держу его на 10% мощности. Даже при полной нагрузке карта не греется выше 50 С, и работает кулер бесшумно.

Что-то тут не то. 10% кулера и 300 Вт отводимой мощности дают 50 градусов? Сдаётся мне, нагрузка очень далека от 100%. А что показывает nv-top?

Позиция Д'Артаньяна понятна. Можете не продолжать.

1
23 ...

Информация

В рейтинге
3 594-й
Откуда
Санкт-Петербург и область, Россия
Зарегистрирован
Активность