Умножение матриц с использованием CUDA + MPI

Я занимаюсь исследованием графического процессора в кластерных средах, используя для связи mpi.
Чтобы сравнить скорость, я думаю, что в create:

Умножение матрицы только для GPU, ок.
Теперь только CPU MatrixMulti, ок.
Но я не могу найти хорошую реализацию умножения матриц CUDA + MPI.

У кого-нибудь есть намек на то, где я могу найти это? Или предложите одну реализацию.


person Custodio    schedule 12.05.2011    source источник
comment
Мой env с mpich2 готов к использованию, так что я бы предпочел openmp   -  person Custodio    schedule 12.05.2011


Ответы (3)


Библиотека шаблонов матриц MTL4 может стать отличной отправной точкой. Прямо сейчас MTL4 имеет многоядерный, DMM, и мы почти закончили полную реализацию GPU. Мы с Питером говорили об алгоритмах распределенного графического процессора, но, поскольку в настоящее время наше внимание сосредоточено на решателях PDE, алгоритмы распределенного графического процессора трудно конкурировать с надежным цифровым мультиметром.

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

Для начала ознакомьтесь с руководством по MTL4.

person Ravenwater    schedule 07.11.2011

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

person Joel Falcou    schedule 12.05.2011

Combinatorial BLAS – это шаблонный код C++ MPI, который имеет разреженная матрица-матричная операция умножения. Он использует процессорную сетку sqrt(p) by sqrt(p) и алгоритм SUMMA для умножения матриц. Одним из аргументов шаблона является «последовательный» компонент, представляющий собой матрицу, локальную для одного процесса. Возможно, вы сможете использовать его напрямую с аргументом шаблона, который является вашей структурой CUDA, но, по крайней мере, он может служить ссылкой для вашего собственного кода.

person Adam    schedule 19.05.2011