Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPI - MKM.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
391.79 Кб
Скачать

3. Напишите программу параллельного скалярного умножения векторов.

int main(int argc,char **argv)

{

int size,rank,i,n=6;

float *a,*b;

a=new float[n];

b=new float[n];

for(i=0;i<n;i++)

{

a[i]=i+1;

b[i]=i+1;

}

MPI_Status status;

MPI_Init(&argc,&argv);

MPI_Comm_rank(MPI_COMM_WORLD,&rank);

MPI_Comm_size(MPI_COMM_WORLD,&size);

float f=0,s=0,s1=0;

int nachalo,konec,shag;

shag=n/(size-1);

if(rank!=size-1)

{

nachalo=rank*shag;

konec=rank*shag+shag;

for(i=nachalo;i<konec;i++)

s=s+a[i]*b[i];

MPI_Send(&s,1,MPI_FLOAT,size-1,1,MPI_COMM_WORLD);

}

if(rank==size-1){

for(i=0;i<size-1;i++)

{ MPI_Recv(&s,1,MPI_FLOAT,i,1,MPI_COMM_WORLD,&status);

f=f+s; }

printf("%f\n",f);

}

MPI_Finalize();}

63 Сурак

1. Современные архитектуры параллельных компьютеров. Аппаратная часть.

 Архитектуры параллельных компьютеров могут значительно отличаться друг от друга. Рассмотрим некоторые существенные понятия и компоненты параллельных компьютеров. Параллельные компьютеры состоят из трех основных компонент: процессорымодули памяти, и коммутирующая сеть. Можно рассмотреть и более изощренное разбиение параллельного компьютер на компоненты, однако, данные три компоненты лучше всего отличают один параллельный компьютер от другого. Одним из свойств различающих параллельные компьютеры является число возможных потоков команд. Различают следующие архитектуры:

MIMD (Multiple Instruction Multiple Data - множество потоков команд и множество потоков данных). MIMD компьютер имеет Nпроцессоров, N потоков команд и N потоков данных. Каждый процессор функционирует под управлением собственного потока команд.

SIMD (Single Instruction Multiple Data - единственный поток команд и множество потоков данных). SIMD компьютер имеет Nидентичных синхронно работающих процессоров, N потоков данных и один поток команд. Каждый процессор обладает собственной локальной памятью. Сеть, соединяющая процессоры, обычно имеет регулярную топологию.

Аппаратная часть любого компьютера – это то, что можно увидеть внутри любого системного блока, монитора, сканера, принтера. т.п. К ней можно отнести важнейшую часть любого электронно-вычислительной машины – материнскую плату. Ведь именно на этой плате расположены разъемы для подключения таких составляющих, как оперативна память, графический адаптер, жесткий диск центральный процессор. В корпусе системного блока расположены так же устройства ввода информации: приводы для считывания информации с дисков, картридеры, которые дают возможность считывать информацию с flash-карты. Не стоит забывать и об устройстве, которое снабжает всю эту сложнейшую систему электроэнергией. Это устройство называется блоком питания. Важными элементами так же являются различные шлейфы, благодаря которым происходит соединение всех вышеперечисленных элементов в одно целое.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]