Bonjour.
je suis débutant dans le Java et je besoin d'une aide pour la multiplication parallèle des matrices.
Bonjour.
je suis débutant dans le Java et je besoin d'une aide pour la multiplication parallèle des matrices.
Bonjour.
j'arrive écrire des programmes parallèle , mais quand je veux le faire pour les matrices, je ne savais pas comment décomposer le traitement de calcule
Merci.
voici un code de multiplication de deux matrice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
64
65
66
67
68
69 import java.util.*; import java.util.Random; class MatrixMultiplication{ public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Entrez le nombre de rangées : "); int m = input.nextInt(); Random r = new Random(); System.out.print("Entrez le nombre de colonnes : "); int n = input.nextInt(); int[][] A = new int[m][n]; int[][] B = new int[m][n]; int[][] C = new int[m][n]; for (int i=0 ; i < A.length ; i++) for (int j=0 ; j < A[i].length ; j++){ A[i][j] = r.nextInt(100) + 0; } for (int i=0 ; i < B.length ; i++) for (int j=0 ; j < B[i].length ; j++){ B[i][j] = r.nextInt(100) + 0; } System.out.println("Matrix A : "); for (int i=0 ; i < A.length ; i++){ System.out.println(); for (int j=0 ; j < A[i].length ; j++){ System.out.print(A[i][j]+" "); } } System.out.println(); System.out.println(); System.out.println("Matrice B : "); for(int i=0 ; i < B.length ; i++){ System.out.println(); for (int j=0 ; j < B[i].length ; j++){ System.out.print(B[i][j]+" "); } } System.out.println(); System.out.println(); System.out.println("Le résultat est : "); System.out.println(); for(int i=0;i<A.length;i++){ for(int j=0;j<B[0].length;j++){ for(int k=0;k<A[0].length;k++){ C[i][j]+=A[i][k]*B[k][j]; } } } for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ System.out.print(+C[i][j]+" "); } System.out.println(); } } }
mais j'arrive pas de l’écrire en parallèle " multi thread ", pour être exécuté par plusieurs thread
Par exemple, avant tu avais :
Et pour décomposer naïvement en 2 "tâches", tu pourrais avoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part for(int i=0;i<A.length;i++);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for(int i=0;i<A.length/2;i++); for(int i=A.length/2;i<A.length;i++);
(Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Partager