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#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:~$ ./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:~$
can you tell me sir how it works
ReplyDelete