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