Преобразование кода с поддержкой MPICH2 в код OpenCL - PullRequest
0 голосов
/ 01 марта 2012

У меня есть утилита, написанная на c ++, и она использует MPICH2, она выполняет тяжелые вычисления, и я не доволен ее производительностью, и есть много возможностей для улучшения.

Во-первых, MPICH2 использует только exes, поэтому я должен записать свои данные в файл и передать этот файл в качестве аргумента той утилите, которая снова считывает все данные и записывает вывод обратно в файл. Если я могу иметь это в DLL, я могу сэкономить много времени при передаче данных. Также, если я смогу как-то запустить это на GPU, это даст толчок (не очень уверен).

Мне интересно, сколько усилий потребуется для преобразования кода утилиты в OpenCL или есть какие-либо инструменты, которые будут выполнять 60-70% задачи преобразования.

1 Ответ

2 голосов
/ 01 марта 2012

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

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

Наконец, хотя это не поможет в использовании вашего графического процессора, почему бы не исправить ошибки с помощью кода MPI?Я немного неясен, но, похоже, одна из проблем заключается в том, что ваш MPI-код записывает и читает файлы как способ передачи данных.Это не является обязательной функцией программ MPI и может быть пересмотрено

...