You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hama.apache.org by "Edward J. Yoon" <ed...@apache.org> on 2010/02/12 03:41:44 UTC
A BSP based matrix multiplication implementation.
Hi,
I just made a pseudo code for this issue. I'm sure it will show better
performance than any M/R version of mat-mat mult on Hadoop.
Following is the sample code you could reference when porting to BSP version,
http://svn.apache.org/repos/asf/incubator/hama/trunk/src/test/org/apache/hama/bsp/BSPPeerTest.java
Does anyone have a interesting or want to implement this?
On Fri, Feb 12, 2010 at 11:20 AM, Edward J. Yoon (JIRA) <ji...@apache.org> wrote:
>
> [ 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.
>
>
--
Best Regards, Edward J. Yoon @ NHN, corp.
edwardyoon@apache.org
http://blog.udanax.org