распараллеливание последовательной программы и генерация кода - PullRequest
1 голос
/ 19 сентября 2011

Я студент MSc, и моя тема диссертации - «Распараллеливание последовательной программы на уровне потоков для работы на многоядерных процессорах».Я хочу автоматически распараллеливать последовательную программу на уровне потоков для запуска на многоядерных процессорах с программной конвейеризацией.Я использую LLVM для анализа кода и перевода кода в IR, я могу извлечь форму PDG IR-кода и преобразовать его в SCCDAG и разделить DAGSCC, учитывая мои критерии.На следующем шаге я смог распознать положение связи между перегородками.Но для последнего шага и генерации кода, у меня нет никакой идеи и информации, чтобы назначить разделы и связи потокам.и я останавливаюсь в этом положении.К сожалению, мне не хватает времени, и я нахожусь под силу, чтобы завершить проект.Можете ли вы помочь мне, и знаете ли вы инструменты или рекомендации, которые могут помочь мне в короткие сроки.спасибо за внимание и желаю хороших времен.С наилучшими пожеланиями

1 Ответ

0 голосов
/ 23 сентября 2011

Если вы находитесь под давлением, можете ли вы немного изменить тему? Существует множество схожих тем, связанных с распараллеливанием, которые могут заинтересовать вашего руководителя и могут лучше использовать ваши ресурсы (время, производительность и т. Д.).

Выезд:

Оформление заказа, существующие инструменты, связанные с автоматическим распараллеливанием, например:

Возможно, вы захотите поиграть с темой Denotional Semantics и создать инструмент, похожий на cloog, который преобразует распознанные шаблоны в распараллеленный код openmp.

Btw. ROSE (каркас компилятора) может быть интересной альтернативой LLVM из-за его поддержки OpenMP - http://www.rosecompiler.org/.

...