PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 20 фев 18 4:58

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 3 окт 05 15:26 
Не в сети

Зарегистрирован: 11 апр 05 10:19
Сообщения: 14
Откуда: Новосибирск
хотя планировалось наоборот.
программа при запуске на одном процессоре считается быстрее, чем на 4-х.
вот пример :

nn=128*64;
mpi_complex based[nn]

time1=time(0)
for (i=1; i<=100; i++)
{
fftw_mpi(plan,1,based,NULL);
fftw_mpi(pinv,1,based,NULL);
for(j=0;j<total_local_size;j++)
{
based[j].im=based[j].im/(nn);
based[j].re=based[j].re/(nn);
}
}
printf("%f",time(0)-time1);

буду рыдать наверно по этому поводу :(((((((((((
Это у всех так или только у меня?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 3 окт 05 15:57 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 871
Откуда: НИВЦ МГУ
А Вы вызывали процедуру fftw2d_mpi_create_plan? Возможно просто по умолчанию всё просчиталось на одном процессоре?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 4 окт 05 13:52 
Не в сети

Зарегистрирован: 11 апр 05 10:19
Сообщения: 14
Откуда: Новосибирск
ой, кажется да. я сделала вот так:

int main(int argc,char **argv)
{
int size,k,i,rank, NN=50000;

int local_n, local_start, local_n_after_transform,
local_start_after_transform, total_local_size;

int local_n1, local_start1, local_n_after_transform1,
local_start_after_transform1, total_local_size1;
fftw_mpi_plan plan,pinv;

MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&size);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);

plan = fftw_mpi_create_plan(MPI_COMM_WORLD, Nx,
FFTW_FORWARD,FFTW_ESTIMATE);
fftw_mpi_local_sizes(plan, &local_n,&local_start,
&local_n_after_transform, &local_start_after_transform,
&total_local_size);
pinv = fftw_mpi_create_plan(MPI_COMM_WORLD, Nx, FFTW_BACKWARD,
FFTW_ESTIMATE);
fftw_mpi_local_sizes(pinv, &local_n1, &local_start1,
&local_n_after_transform1, &local_start_aftеr_transform1,
&total_local_size1);

fftw_complex A[total_local_size];

for(k=local_start,i=0;i<local_n;k++,i++)
{
A[i].re = f(k);
A[i].im = f(k);
}

fftw_mpi(plan,1,A,NULL);
fftw_mpi(pinv,1,A,NULL);

for(i=0;i < total_local_size;i++)
{
A[i].re/=NN;
A[i].im/=NN;
}
fftw_mpi_destroy_plan(plan).
fftw_mpi_destroy_plan(pinv).

MPI_Finalize();
return 0;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 5 окт 05 9:33 
Не в сети

Зарегистрирован: 11 апр 05 10:19
Сообщения: 14
Откуда: Новосибирск
упс, заметила, что на 2 процессорах считает быстрее, чем на 1,3,4.
а количества точек такие:
2^k.
Nichego ne ponimayu...


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

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


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

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


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

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