Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Паралельное программирование 
V
    Опции темы
Kirgston
Дата 24.12.2009, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 792
Регистрация: 24.12.2007

Репутация: нет
Всего: 2



Всем доброго времени суток! Думаю каждый из Вас хотя бы раз слышал о параллельном программировании (задействовании программой всех доступных процессоров). Такс.... 2 вопроса:
1) Есть ли нечто такое для Builder? 
2) Есть ли нечто такое для VC ++ 2008 ? Но не Intel Paralell Studio (там надо подключать ихний компилятор, а мне нужен мелкософтный)

Чуток расшифрую второй вопрос. Почему же мне не подходит Интел? Ну скажу честно просто программа отказывается работать, а точнее работает на 50%. Точнее DLL скомпилирована под Интелом. Почему не знаю... но знаю что программа моя во всю изменяет память, адреса и т.д. в пространстве другой программы (ну что то типа кряка но не в ту ветвь). Сама же DLL компилируется но при запуске начинают появятся всевозможные падения и т.д. (падает не сама длл а приложение которое она редактирует) потому и спрашиваю о чем то таком но для компилятора VC ++ 2008 =)

Благодарю!!!
PM MAIL   Вверх
jonie
Дата 24.12.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 15
Всего: 118



Цитата


2) Есть ли нечто такое для VC ++ 2008 ? Но не Intel Paralell Studio (там надо подключать ихний компилятор, а мне нужен мелкософтный)

OpenMP например. Также для любого (наверно) компилятора есть MPI в реализации, например, MPICH.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
InvalidProperty
Дата 24.12.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 31.10.2007
Где: Россия, Казань

Репутация: нет
Всего: 9



да, тебе нужно MPI


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
ksili
Дата 24.12.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(InvalidProperty @  24.12.2009,  14:05 Найти цитируемый пост)
да, тебе нужно MPI

Люди, вы чего! MPI надо только если есть кластер. А у человека просто многопроцессорная система.

Kirgston, для Билдера готовых фреймворков, заточенных под него наверно нет. 
MSVS версии Enterprise поддерживает OpenMP. Насчёт более дешёвых версий не уверен.
Intel Paralell Studio это вообще не средство разработки параллельных приложений, а средство для отыскания ошибок в нём (поддерживаются OpenMP и некоторые чисто интеловские библиотеки), т.е. это вспомогательное средство.

Вообще сейчас библиотеки для паралл. прогр-ния появляются как грибы после дождя.

То что тебе нужно сейчас - это наверно просто изучить написание многопоточных программ. Будешь разделять работу программы на потоки, а ОСь сама их будет раскидывать по процессорам. Ну можно научиться и прямо привязывать каждый поток к конкретному процессору. Команды соответстсвующие тебе на форуме подскажут. На интеловском сайте можешь найти пример кода, определяющего кол-во ядер и процессоров в системе.

В Билдере для работы с потоками юзай класс TThread. Примеров в сети туча.
В MSVS [на гольном С++]: _begithreadex или CreateThread, [на MFC]: AfxBeginThread.

Да, ещё есть TBB в опенсорсном и платном виде. Библиотека от Интел, вроде как на ней всё проще. Но лучше начать с изучения многопоточного программирования.

Если юзаешь C#, то посмотри в сторону MC#, например.

Это сообщение отредактировал(а) ksili - 24.12.2009, 10:24


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Kirgston
Дата 24.12.2009, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 792
Регистрация: 24.12.2007

Репутация: нет
Всего: 2



jonie, Благодарю!


ksili, как программировать потоки я знаю =) но чисто мое имхо - указывая потоку нужный процессор это как то глупо... ведь не факт что ядро свободно правда? Что на ядре ничего не крутится сейчас? Что оно может полностью обслужить меня. Да и кол-во потоков необязательно надо делать <= кол-во ядер на процессоре. Даже скажу иначе... чем больше потоков тем больше они будут вытеснять другие приложения а значит и обрабатываться быстрее (но это конечно не значит что надо сделать миллиард потоков  smile ) . Просто как... считаю что дяди из крупных контор гораздо умнее меня и сделают параллельность куда лучше чем я =)
PM MAIL   Вверх
Lazin
Дата 24.12.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



facepalm.jpg
PM MAIL Skype GTalk   Вверх
ksili
Дата 24.12.2009, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(Kirgston @  24.12.2009,  14:32 Найти цитируемый пост)
считаю что дяди из крупных контор гораздо умнее меня

Дяди из крупных контор тоже ничем тебе не помогут, когда все доступные ядра уже заняты.
Цитата(Kirgston @  24.12.2009,  14:32 Найти цитируемый пост)
указывая потоку нужный процессор это как то глупо

Какие операционные системы глупые - берут и указывают потокам, где им выполняться.

В общем ты спрашивал про MSVS 2008. Ответ: OpenMP. 
В настройках проекта ставишь OpenMP support = Yes и дальше юзаешь директивы OpenMP.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Kirgston
Дата 24.12.2009, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 792
Регистрация: 24.12.2007

Репутация: нет
Всего: 2



Благодарю! =) разобрался
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.