Save a test kernel for later experimentation.
This commit is contained in:
parent
a3ff6f7e3b
commit
6b64e29689
75
src/sig/TestKernel.java
Normal file
75
src/sig/TestKernel.java
Normal file
@ -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…
x
Reference in New Issue
Block a user