Форум программистов, компьютерный форум, киберфорум
MPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 02.12.2012
Сообщений: 8
1

Java MPI

17.06.2015, 03:38. Показов 1169. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано упорядоченный массив целых чисел. Используя N параллельных процессов, сформировать новый массив, что не содержит элементы, которые повторяются.
Пытался сделать, но не работает Gatherv.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import java.util.ArrayList;
 
import mpi.MPI;
 
public class Prog {
 
    public static void main(String[] args) {
 
        int N = 20;
        int[] sendBuf = { 0, 0, 1, 3, 4, 5, 5, 7, 7, 7, 8, 8, 9, 9, 9, 11, 16, 16, 23, 43 };        
        int[] recvBuf = new int[N];
        int[] result =  new int[N];         
        int[] recvcount, displs, tempBuf;
 
        MPI.Init(args);
 
        int rank = MPI.COMM_WORLD.Rank();
        int size = MPI.COMM_WORLD.Size();                       
        recvcount = new int[size];
        displs = new int[size];
 
        if (rank == 0) {
            System.out.println("Исходный массив: ");
            System.out.println();
            for (int i = 0; i < sendBuf.length; i++) {
                System.out.print(sendBuf[i] + " ");
            }
        }
 
        MPI.COMM_WORLD.Scatter(sendBuf, 0, sendBuf.length/size, MPI.INT, recvBuf, 0, recvBuf.length, MPI.INT, 0);
 
        ArrayList<Integer> uniqList = new ArrayList<Integer>();
        for (int i = 0; i < recvBuf.length; i++) {
            if (!uniqList.contains(recvBuf[i]))
                uniqList.add(recvBuf[i]);
        }
 
        tempBuf = new int[uniqList.size()];
        for (int i = 0; i < uniqList.size(); i++) {
            tempBuf[i] = uniqList.get(i);
        }
 
        if (rank == 0) {
            recvcount[rank] = uniqList.size();
            displs[rank] = 0;
        } else {
            recvcount[rank] = uniqList.size();
            displs[rank] = recvcount[rank - 1];
        }
 
        MPI.COMM_WORLD.Barrier();
        
        MPI.COMM_WORLD.Gatherv(tempBuf, 0, tempBuf.length, MPI.INT, result, 0,recvcount, displs, MPI.INT, 0);
 
        if (rank == 0) {
            for (int i = 0; i < result.length; i++) {
                System.out.print("Результат: " + result[i]);
            }
        }
 
        MPI.Finalize();
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2015, 03:38
Ответы с готовыми решениями:

Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ?
Какую версию Java поддерживает .Net Java# И какую VS6.0 Java++ ? Ответье, плиз, новичку, по MSDN...

Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома
Или может кто может дать готовый код. В теории вроде бы не очень сложно. :cry: 1.Напишите...

При работе JVM обвалвается java c кодом Java Result 1073807364.
При работе JVM обвалвается java c кодом Java Result 1073807364. Если кто-нибудь знает, помогите...

Хочу стать Java программистом, здесь есть Java программисты?
Здравствуйте, я хочу стать Ява программистом, если здесь есть Ява программисты, пж подскажите плюсы...

0
17.06.2015, 03:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2015, 03:38
Помогаю со студенческими работами здесь

Актуально ли изучать java сейчас по книге, где примеры в java 5?
Книга &quot;Изучаем Java&quot;Берт Бейтс, Кэтти Сьерра .До этого ничего не читал по java

Какие шаги предпринять для овладения java и какую среду java посоветуете?
Пока сть опыт по Visual С, Basic; Borland Delphi, CBuilder. Хочется и в java разбираться.

'fr.java': Ошибка #: 300 : method getObject(int) not found in class java.lang.String строка 33, символ 18
'fr.java': Ошибка #: 300 : method getObject(int) not found in class java.lang.String строка 33,...

Ошибка /usr/java/bin/java not found
Ja postavil jre1.3.1-fci-i386.rpm na Linux RedHat7.3 v dir /usr/java/jre1.3.1 A potom instaliroval...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru