2014 dxdy logo

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

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




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

 
 
 
 
Сообщение04.01.2009, 05:55 
Начните, например, отсюда: Multi-core.
MPI не подойдет.

 
 
 
 Re: многоядерный процессор
Сообщение04.01.2009, 14:58 
Аватара пользователя
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: многоядерный процессор
Сообщение07.01.2009, 01:00 
Про "расстреливать программу" я опечатался :lol: Теорию немножко знаю, т.к. писал под кластер работающий под управлением пакета mpich, но появляеться возможность работать на многоядерном процессоре (одиночный комп., проц. AMD Phenom X4). Пока требуется распараллелить блоки суммирования внутри своей программы на C++ для ускорения расчетов. Что скажете насчет OpenMP и есть ли какой-нибуть учебник или документация на русском языке?

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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