You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hama.apache.org by "Edward J. Yoon (JIRA)" <ji...@apache.org> on 2010/02/12 03:20:27 UTC
[jira] Commented: (HAMA-221) A BSP matrix multiplication
implementation.
[ https://issues.apache.org/jira/browse/HAMA-221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12832796#action_12832796 ]
Edward J. Yoon commented on HAMA-221:
-------------------------------------
Here's my multi threaded version of mat-mat mult.
In this example,
- Thread.join() means a barrier.
- The global storage (int[][] out) was used. (Of course, you can also split the summation into n-supersteps.)
----
class MatMult extends Thread {
static int m1[][];
static int m2[][];
static int out[][];
static int n = 2;
int row;
MatMult(int i) {
row = i;
this.start();
}
public void run() {
int i, j;
for (i = 0; i < n; i++) {
out[row][i] = 0;
for (j = 0; j < n; j++) {
out[row][i] = out[row][i] + m1[row][j] * m2[j][i];
}
}
}
public static void main(String args[]) throws Exception {
int i, j;
int n = 2;
m1 = new int[][] { { 1, 2 }, { 3, 4 } };
m2 = new int[][] { { 1, 2 }, { 3, 4 } };
out = new int[n][n];
MatMult mat[] = new MatMult[n];
for (i = 0; i < n; i++) {
mat[i] = new MatMult(i);
}
for (i = 0; i < n; i++) {
mat[i].join();
}
System.out.println("OUTPUT :");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
System.out.print(out[i][j] + "\t");
}
System.out.println();
}
}
}
> A BSP matrix multiplication implementation.
> -------------------------------------------
>
> Key: HAMA-221
> URL: https://issues.apache.org/jira/browse/HAMA-221
> Project: Hama
> Issue Type: Improvement
> Components: bsp, matrix
> Affects Versions: 0.2.0
> Reporter: Edward J. Yoon
> Fix For: 0.2.0
>
>
> Using the BSP model, we could improve the performance of mat-mat multiplication. Let's evaluation it out on this issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.