commit
9e680ac9cb
@ -0,0 +1,75 @@ |
|||||||
|
package sig; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
|
||||||
|
import com.aparapi.Kernel; |
||||||
|
import com.aparapi.Range; |
||||||
|
import com.aparapi.device.Device; |
||||||
|
|
||||||
|
public class TestKernel extends Kernel{ |
||||||
|
|
||||||
|
int[] a,b; |
||||||
|
float[] sum; |
||||||
|
boolean[] test; |
||||||
|
final int val=55555555; |
||||||
|
|
||||||
|
TestKernel(int[] a,int[] b,float[] sum,boolean[] test) { |
||||||
|
this.a=a; |
||||||
|
this.b=b; |
||||||
|
this.sum=sum; |
||||||
|
this.test=test; |
||||||
|
} |
||||||
|
|
||||||
|
public static void main(String[] args) { |
||||||
|
int size = 1024; |
||||||
|
|
||||||
|
final int[] a = new int[size]; |
||||||
|
int[] b = new int[size]; |
||||||
|
|
||||||
|
for (int i = 0; i < size; i++) { |
||||||
|
a[i] = (int) (Math.random() * 100); |
||||||
|
b[i] = (int) (Math.random() * 100); |
||||||
|
} |
||||||
|
|
||||||
|
float[] sum = new float[size]; |
||||||
|
|
||||||
|
TestKernel kernel = new TestKernel(a,b,sum,new boolean[]{true}); |
||||||
|
|
||||||
|
//System.out.println("Start...");
|
||||||
|
kernel.execute(Range.create(size)); |
||||||
|
//System.out.println("Running...");
|
||||||
|
//size=5;
|
||||||
|
kernel.b[0]=50; |
||||||
|
kernel.b[1]=45; |
||||||
|
/*for (int i = 0; i < size; i++) { |
||||||
|
b[i] = (int) (Math.random() * 100); |
||||||
|
}*/ |
||||||
|
long timer1=System.nanoTime(); |
||||||
|
for (int i=0;i<900;i++) { |
||||||
|
kernel.execute(Range.create(size)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
System.out.println((System.nanoTime()-timer1)+"ns"); |
||||||
|
kernel.dispose(); |
||||||
|
System.out.println(Arrays.toString(sum)); |
||||||
|
timer1=System.nanoTime(); |
||||||
|
for (int j=0;j<900;j++) { |
||||||
|
for (int i=0;i<sum.length;i++) { |
||||||
|
sum[i]=a[i]+b[i]; |
||||||
|
} |
||||||
|
} |
||||||
|
System.out.println((System.nanoTime()-timer1)+"ns"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void run() { |
||||||
|
int gid = getGlobalId(); |
||||||
|
sum[gid] = a[gid]+b[gid]; |
||||||
|
} |
||||||
|
|
||||||
|
void addExtra(int numb,int id) { |
||||||
|
a[id]+=numb; |
||||||
|
b[id]+=numb; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue