2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 GMP + MPI
Сообщение09.09.2010, 06:51 


26/01/10
959
Можно ли как-то эффективно передавать длинные числа из GMP через MPI?

Моё решение: перевести число в строку, передать, принять, перевести обратно в число. Опасаюсь, что перевод в строку и обратно будет отнимать много времени.

Если кто этим уже занимался, посоветуйте, пожалуйста.

 Профиль  
                  
 
 Re: GMP + MPI
Сообщение09.09.2010, 11:36 
Аватара пользователя


01/04/10
910
Можно вообще не конвертировать длинное число типа GMP в строку, а просто передать последовательность байт самого числа GMP-типа как void *.

Т.е. просто передать своё число функции MPI_Send как указатель размером sizeof(тип).

P.S. Я не работал с этими библиотеками, но сразу видно, что MPI_Send не требует определённого типа.

 Профиль  
                  
 
 Re: GMP + MPI
Сообщение09.09.2010, 13:11 


26/01/10
959
Проблема в том, что для этого нужно знать внутреннюю структуру GMP-числа. В самой структуре есть разные данные, каким-то образом упорядоченные (длина числа, само число в виде массива, мб что-то ещё). Просто так переконвертировать это все в void * не получится. Особенно не поможет sizeof, так как число меняет размер динамически (и, возможно, распределено в памяти не последовательно) и sizeof его размер знать никак не может. Можно ли решить задачу, не копаясь внутри GMP-числа?

 Профиль  
                  
 
 Re: GMP + MPI
Сообщение09.09.2010, 15:01 
Аватара пользователя


01/04/10
910
Zealint в сообщении #350740 писал(а):
Проблема в том, что для этого нужно знать внутреннюю структуру GMP-числа. В самой структуре есть разные данные, каким-то образом упорядоченные (длина числа, само число в виде массива, мб что-то ещё). Просто так переконвертировать это все в void * не получится. Особенно не поможет sizeof, так как число меняет размер динамически (и, возможно, распределено в памяти не последовательно) и sizeof его размер знать никак не может. Можно ли решить задачу, не копаясь внутри GMP-числа?


Не работая с библиотекой приходит в голову мысль о функциях экспорта и импорта.

 Профиль  
                  
 
 Re: GMP + MPI
Сообщение09.09.2010, 18:40 


26/01/10
959
Похоже на то, что нужно, будем пробовать. Может кто-нибудь знает и другие способы?

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group