Разбираюсь с mpich. Пробую посчитать сумму sum(i^2,1..2000) на 2-х процессорах для начала. Написал вот что
#include <iostream>
#include "mpi.h"
main(int argc, char *argv[])
{
MPI::Init(argc, argv);
int rank = MPI::COMM_WORLD.Get_rank();
int size = MPI::COMM_WORLD.Get_size();
int s1=0,s2=0;
if( rank==0 ) {
for( int i=1; i<1000; ++i )
s1+=i^2;
std::cout << "s1=" << s1 << std::endl;
}
if( rank==1 ) {
for( int i=1000; i<=2000; ++i )
s2+=i^2;
std::cout << "s2=" << s2 << std::endl;
}
MPI::Finalize();
}
Как теперь сложить s1 c s2 и вывести s = s1 + s2
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум cpp + mpi (2012)
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум C++ простая программа (2014)
- Форум Не компилируется программа :( (2008)
- Форум constexpr массивы в c++ (2018)
- Форум C++ и LAM/MPI (2005)
- Форум gcc bug (global array of templated class - no destructors) (2005)
- Форум std::cout вместе с std::wcout (2009)
- Форум atof() не сохраняет точность (2005)