PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 22 июл 19 12:42

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 6 окт 10 19:30 
Не в сети

Зарегистрирован: 18 ноя 09 9:02
Сообщения: 5
Доброго времени суток!
Вопрос следующего характера - есть параллельная программа, каждый процесс которой должен генерировать массив случайных величин.
Пользуюсь функцией rand, перед этим инициализируя ее с помощью srand((unsigned)time( NULL ) );
Но т.к. работает на кластере, видимо выводится одинаковое время и массивы на всех запущенных процессах получаются одинаковыми.
Что можно сделать для того, чтобы все-таки эти массивы генерировались по-разному?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 7 окт 10 11:44 
Не в сети

Зарегистрирован: 5 мар 05 14:01
Сообщения: 74
Прочитайте четыре байта из /dev/radnom и используйте их как аргумент для srand. Или вообще используйте /dev/[u]radnom для получения случайных чисел.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 7 окт 10 21:31 
Не в сети

Зарегистрирован: 30 ноя 05 16:09
Сообщения: 130
Откуда: Ростов-на-Дону
В стародавние времена в качестве теста Linpack использовалась программа
Д. Донгары 1000d.f - она есть на netlib.org в ней текст процедуры на фортране генератора случайных
чисел. Прекрасно работает и параллельных программах. Попробуйте ее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 8 окт 10 4:50 
Не в сети

Зарегистрирован: 18 ноя 09 9:02
Сообщения: 5
Спасибо за советы, проблема решилась даже проще:
srand((unsigned)time( NULL ) + ProcRank);
Обычным прибавлением номера текущего процесса, что позволило генерировать совершенно другие данные


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Exabot [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB