1. cu_FastTucker: более быстрая и стабильная стохастическая оптимизация для параллельной разреженной декомпозиции Tucker на нескольких GPU (arXiv)

Автор: Zixuan Li

Аннотация . Данные высокого порядка, высокой размерности и разреженного тензора (HOHDST) поступают из реальных промышленных приложений, т. е. социальных сетей, рекомендательных систем, биоинформации и информации о дорожном движении. Разреженная тензорная декомпозиция (STD) может проецировать данные HOHDST в пространство низкого ранга. В этой работе предлагается новый метод STD Крускала, аппроксимирующий основной тензор, и стохастическая стратегия для аппроксимации всего градиента, которая состоит из следующих двух частей: (1) порядок развертывания матризации произведения Крускала для основного тензора следует за порядок умножения матрицы факторов, а затем предложенная теорема может уменьшить экспоненциальные вычислительные затраты до линейных; (2) стохастическая стратегия использует одношаговую случайную выборку, объем которой намного меньше исходной, для аппроксимации всего градиента. Между тем, этот метод может гарантировать сходимость и экономить накладные расходы памяти. Из-за компактности умножения матриц того же порядка и параллельного доступа из стохастической стратегии скорость cuFastTucker может быть дополнительно усилена графическим процессором. Кроме того, поскольку крупномасштабные данные HOHDST не могут быть размещены на одном графическом процессоре, для размещения данных на нескольких графических процессорах предлагается стратегия разделения и передачи данных cuFastTucker. cuFastTucker может достичь самой высокой скорости и сохранить ту же точность и гораздо меньшие накладные расходы памяти, чем алгоритмы SOTA, например, P-Tucker, Vest и SGD_Tucker. Код и частичные наборы данных находятся в открытом доступе на https://github.com/ZixuanLi-China/FastTucker.

2. Spinsim: пакет Python, оптимизированный для графического процессора, для моделирования квантовых систем со спином половина и один спин (arXiv)

Автор: Алекс Тритт, Джошуа Моррис, Джоэл Хохстеттер, Р. П. Андерсон, Джеймс Сондерсон, Л. Д. Тернер

Аннотация:Пакет Spinsim python моделирует квантово-механические системы со спином половина и один спин, следуя зависимому от времени уравнению Шредингера. Он использует numba.cuda, компилятор LLVM (низкоуровневая виртуальная машина) для систем, совместимых с Nvidia Cuda, использующих распараллеливание графического процессора. Наряду с другими оптимизациями это позволяет повысить скорость на 3–4 порядка, сохраняя при этом такую ​​же точность по сравнению со стандартными отраслевыми пакетами. Он доступен для установки на PyPI, а исходный код доступен на github. Первоначальным вариантом использования Spinsim будет моделирование экспериментов с ультрахолодным атомом на основе квантового зондирования для лаборатории физики и астрономии Университета Монаша со спинорным конденсатом Бозе-Эйнштейна (спинор БЭК), но мы ожидаем, что он будет полезен при моделировании любых диапазон квантовых систем со спином половина или один спин с зависящими от времени гамильтонианами, которые не могут быть решены аналитически. Они появляются в области ядерного магнитного резонанса (ЯМР), ядерного квадрупольного резонанса (ЯКР) и магнитно-резонансной томографии (МРТ) и квантового зондирования, а также в системах со спином один центров азотных вакансий (НВЦ), ультрахолодных атомов и BEC

3. Параллельный алгоритм графического процессора для создания полигональных сеток на основе областей конечных краев (arXiv)

Автор:Серхио Салинас, Хосе Охеда, Нэнси Хитшфельд, Алехандро Ортис-Бернардин

Аннотация: в этой статье представлен параллельный алгоритм графического процессора для создания полигональных сеток нового типа, полученных из триангуляции Делоне. Чтобы создать полигональную сетку, алгоритм сначала использует систему классификации, чтобы пометить каждое ребро входной триангуляции; во-вторых, он строит многоугольники (простые или нет) из областей терминальных ребер, используя систему меток, и, в-третьих, преобразует каждый непростой многоугольник из предыдущей фазы в простые, выпуклые или невыпуклые многоугольники. Мы показываем некоторые предварительные эксперименты для проверки масштабируемости алгоритма и сравниваем его с последовательной версией. Мы также проводим очень простой тест, чтобы показать, что эти сетки могут быть полезны для метода виртуальных элементов.

4. Ускорение обратной агрегации в обучении GCN с подготовкой пути выполнения на графических процессорах (arXiv)

Автор: Шаосянь Сюй, Чжиюань Шао, Ци Ян, Сяофэй Ляо, Хай Цзинь

Аннотация. Появляющаяся сверточная сеть графов (GCN) в настоящее время широко используется во многих областях, и повысить эффективность приложений за счет ускорения обучения GCN сложно. Из-за разреженности и взрывающихся масштабов входных реальных графов современные обучающие системы GCN (например, GNNAdvisor) используют методы обработки графов для ускорения обмена сообщениями (т. е. агрегации) между вершинами графа. Тем не менее, эти системы рассматривают обе стадии агрегирования фаз прямого и обратного распространения как процедуры обработки всех активных графов, которые без разбора выполняют вычисления для всех вершин входного графа. В этой статье мы сначала отмечаем, что в задаче обучения GCN с заданным обучающим набором этапы агрегирования его фазы обратного распространения (называемые в этой статье обратными агрегациями) могут быть преобразованы в частично активные процедуры обработки графа, которые выполняют вычисление только на частичных вершинах входного графа. Используя этот вывод, мы предлагаем метод подготовки пути выполнения, который собирает и объединяет данные, используемые во время обратного распространения обучения GCN, проводимого на графических процессорах. Экспериментальные результаты показывают, что по сравнению с GNNAdvisor наш подход повышает производительность обратной агрегации тренировок GCN на типичных графах реального мира в 1,48x~5,65x. При этом подготовка пути выполнения может производиться как до обучения (во время препроцессинга), так и во время обучения. При использовании во время предварительной обработки наш подход улучшает общее обучение GCN в 1,05–1,37 раза. А при использовании «на лету» наш подход улучшает общее обучение GCN в 1,03–1,35 раза.

5. Оптимизация классических задач машинного обучения на GPU (arXiv)

Автор:Сёрен Лауэ, Марк Блахер, Иоахим Гизен

Аннотация:задачи оптимизации с ограничениями часто возникают в классическом машинном обучении. Существуют фреймворки для оптимизации с ограничениями, например, CVXPY и GENO. Однако, в отличие от сред глубокого обучения, поддержка GPU ограничена. Здесь мы расширяем структуру GENO, чтобы также решать проблемы оптимизации с ограничениями на графическом процессоре. Платформа позволяет пользователю определять задачи оптимизации с ограничениями на удобном для чтения языке моделирования. Затем из этой спецификации автоматически генерируется решатель. При запуске на графическом процессоре решатель на несколько порядков превосходит современные подходы, такие как CVXPY, в сочетании с решателем с ускорением на графическом процессоре, таким как cuOSQP или SCS.