Saturday, 14 March 2015

Implement a Parallel ODD-Even Sort algorithm using GPU or ARM equivalent or OPENMP

 Implement a Parallel ODD-Even Sort algorithm using GPU 

// oddeven.c
 #include<stdio.h>
#include<omp.h>

main()
{
  int A[25]={485,41,340,526,188,739,489,387,988,488};
  int N=10;
 
    int exch=1, start=0, i;
    int temp;
   printf("\n Array before Sorting-: ");
    for(i=0;i<=9;i++)
    {
      printf("\n %d",A[i]);
    }
    while(exch||start)
    {
      exch=0;
       #pragma omp parallel for private(temp) shared(start,exch)
      for(i=start;i<N-1;i+=2)
      {
         printf("\n%d=\t A[%d]= %d\tA[%d]= %d",i,i,A[i],i+1,A[i+1]);
        if(A[i]>A[i+1])
        {
          temp=A[i];
          A[i]=A[i+1];
          A[i+1]=temp;
          exch=1;
        }
      }
      if(start==0)
      {
        start=1;
      }
      else
      {
        start=0;
      }
    }
    printf("\n Sorted array is-: ");
    for(i=0;i<=9;i++)
    {
      printf("\n %d",A[i]);
    }
 }
test@test-ThinkCentre-M72e:~$ nvcc oddeven.c
test@test-ThinkCentre-M72e:~$ ./a.out

 Array before Sorting-:
 485
 41
 340
 526
 188
 739
 489
 387
 988
 488
0=     A[0]= 485    A[1]= 41
2=     A[2]= 340    A[3]= 526
4=     A[4]= 188    A[5]= 739
6=     A[6]= 489    A[7]= 387
8=     A[8]= 988    A[9]= 488
1=     A[1]= 485    A[2]= 340
3=     A[3]= 526    A[4]= 188
5=     A[5]= 739    A[6]= 387
7=     A[7]= 489    A[8]= 488
0=     A[0]= 41    A[1]= 340
2=     A[2]= 485    A[3]= 188
4=     A[4]= 526    A[5]= 387
6=     A[6]= 739    A[7]= 488
8=     A[8]= 489    A[9]= 988
1=     A[1]= 340    A[2]= 188
3=     A[3]= 485    A[4]= 387
5=     A[5]= 526    A[6]= 488
7=     A[7]= 739    A[8]= 489
0=     A[0]= 41    A[1]= 188
2=     A[2]= 340    A[3]= 387
4=     A[4]= 485    A[5]= 488
6=     A[6]= 526    A[7]= 489
8=     A[8]= 739    A[9]= 988
1=     A[1]= 188    A[2]= 340
3=     A[3]= 387    A[4]= 485
5=     A[5]= 488    A[6]= 489
7=     A[7]= 526    A[8]= 739
 Sorted array is-:
 41
 188
 340
 387
 485
 488
 489
 526
 739
 988test@test-ThinkCentre-M72e:~$


1 comment: