Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2  След.
 многоядерный процессор
Язык С++. Как и чем расстреливать программу на многоядерном процессоре? Подойдет ли MPI?

 
Начните, например, отсюда: Multi-core.
MPI не подойдет.

 Re: многоядерный процессор
Аватара пользователя
d.dragon.n76 писал(а):
Язык С++. Как и чем расстреливать программу на многоядерном процессоре? Подойдет ли MPI?


Не очень понятен термин "расстреливать программу "? Это теперь так принято или это Ваши выдумки?

Что конкретно Вас интересует? Готовые решения или Вы сами хотите реализовать?

В любом случае рекомендую, для начала, хорошенько ознакомиться с теорией вопроса. На русском языке к сожалению почти ничего нет. Если знаете английский, могу посоветовать целый ряд книг по теории вопроса. Лучшее (ИМХО) на сегодняшний день: Concurrent Programming on Windows. Не обращайте внимание на Windows в названии. Книга, правда, только вышла и сейчас, видимо, ее можно только купить. Есть еще книги на английском. Если надо - пишите в личку.

Если хотите использовать готовые решения, то обратите внимание, например, на Intel Threading Building Blocks - интеловское многоплатформенное решение (Linux, Windows, MacOS). На сайте есть очень подробная документация. Есть книга - "Intel Threading Building Blocks. Outfitting C++ for Multi-Core Processor Parallelism" by James Reinders. Опять же - пишите в личку.:D

Про MPI Вам ответили.

 Re: многоядерный процессор
Про "расстреливать программу" я опечатался :lol: Теорию немножко знаю, т.к. писал под кластер работающий под управлением пакета mpich, но появляеться возможность работать на многоядерном процессоре (одиночный комп., проц. AMD Phenom X4). Пока требуется распараллелить блоки суммирования внутри своей программы на C++ для ускорения расчетов. Что скажете насчет OpenMP и есть ли какой-нибуть учебник или документация на русском языке?

 Re: многоядерный процессор
Аватара пользователя
d.dragon.n76 писал(а):
Что скажете насчет OpenMP и есть ли какой-нибуть учебник или документация на русском языке?


Я с этим пакетом не работал. Вот Вам ссылка ru.wikipedia.org/wiki/OpenMP. Там в конце есть ссылки, причем почти все на русском.

 
кто сказал, что MPI не подойдёт - волне работает на многоядерных процессорах так же как на кластерах.

 
Riga писал(а):
кто сказал, что MPI не подойдёт - волне работает на многоядерных процессорах так же как на кластерах.

Вопрос темы применительно к MPI: Возможно ли распараллелить выполнение программы между ядрами многоядерного процессора с помощью MPI? Поделитесь, пожалуйста, своим опытом.

 
Аватара пользователя
Yuri Gendelman писал(а):
Начните, например, отсюда: Multi-core.
MPI не подойдет.

Советую начать с русской книги: М.П. Левин "Параллельное программирование с использованием OpenMP". Для информации: в моделях с общей памятью алгоритмы, использующие интенсивно оперативную память, могут вообще не распараллеливаться.

 
Yuri Gendelman писал(а):
Riga писал(а):
кто сказал, что MPI не подойдёт - волне работает на многоядерных процессорах так же как на кластерах.

Вопрос темы применительно к MPI: Возможно ли распараллелить выполнение программы между ядрами многоядерного процессора с помощью MPI? Поделитесь, пожалуйста, своим опытом.
возможно, мы делаем на работе софт, который способен работать параллельно на нескольких ядрах одного процессора с помощью MPI

 
Аватара пользователя
Riga писал(а):
Yuri Gendelman писал(а):
Riga писал(а):
кто сказал, что MPI не подойдёт - волне работает на многоядерных процессорах так же как на кластерах.

Вопрос темы применительно к MPI: Возможно ли распараллелить выполнение программы между ядрами многоядерного процессора с помощью MPI? Поделитесь, пожалуйста, своим опытом.
возможно, мы делаем на работе софт, который способен работать параллельно на нескольких ядрах одного процессора с помощью MPI

Среда MPI работает в любых средах и на любых платформах. Однако, при поддержке только оборудования с совместным использованием адресного пространства система обозначений на основе потоков более предпочтительна.
Недавно в Intel© был создан вариант OpenMP для поддержки кластеров.

 Re: многоядерный процессор
Аватара пользователя
Сорри, что поднимаю старую тему, но вопрос не до конца раскрыт.
Так можно ли использовать MPI для распараллеливания на многоядерном персональном компьютере (имеется ввиду в принципе)?
Задача такая - есть код программы на Fortran'е. Есть блок который выполняет ряд независимых друг от друга операций.
Их хочется распараллелить!
P.S: про OpenMP посыл понятен...

 Re: многоядерный процессор
DLL в сообщении #891720 писал(а):
Так можно ли использовать MPI для распараллеливания на многоядерном персональном компьютере (имеется ввиду в принципе)?
Можно, но, как уже говорили, не нужно.

DLL в сообщении #891720 писал(а):
Задача такая - есть код программы на Fortran'е. Есть блок который выполняет ряд независимых друг от друга операций. Их хочется распараллелить!
Вполне возможно, что с этим справится автопараллелизатор компилятора.

 Re: многоядерный процессор
Pphantom в сообщении #891821 писал(а):
DLL в сообщении #891720 писал(а):
Задача такая - есть код программы на Fortran'е. Есть блок который выполняет ряд независимых друг от друга операций. Их хочется распараллелить!
Вполне возможно, что с этим справится автопараллелизатор компилятора.

Думаю, что с этим лучше справится OpenMP, который встроен в лучшие компиляторы типа майкрософт или интел (лучше использовать интеловский компилятор, т.к. там OpenMP посвежее). Только если независимые друг от друга операции интенсивно эксплуатируют оперативную память или число операций ничтожно, то не следует тогда и огород городить.

 Re: многоядерный процессор
d.dragon.n76 в сообщении #174636 писал(а):
Пока требуется распараллелить блоки суммирования внутри своей программы на C++


Если операции однотипные, я бы посмотрел еще в сторону OpenCL. Тогда кроме обычного процессора можно будет использовать еще GPU

 Re: многоядерный процессор
Boss03 в сообщении #892701 писал(а):
который встроен в лучшие компиляторы типа майкрософт
Это несмешная шутка.

 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group