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