From 3a60d8044270ced39be9a5ee1ed2cbbe2c927be6 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Mon, 17 Oct 2016 14:13:14 -0400
Subject: [PATCH] Moved convolution sample to active project.

---
 pom.xml                                       |   1 +
 samples/convolution/.gitignore                |   1 -
 samples/convolution/.project                  |  17 ------
 samples/convolution/build.xml                 |  54 ------------------
 samples/convolution/conv.bat                  |   7 ---
 samples/convolution/conv.sh                   |   6 --
 samples/convolution/opencl.bat                |   6 --
 samples/convolution/pureJava.bat              |   6 --
 .../com/syncleus/aparapi/examples/All.java    |  24 ++++++--
 .../convolution/ConvMatrix3x3Editor.java      |  12 +++-
 .../examples}/convolution/Convolution.java    |  14 ++++-
 .../convolution/ConvolutionOpenCL.java        |  16 +++++-
 .../convolution/ConvolutionViewer.java        |  12 +++-
 .../examples}/convolution/PureJava.java       |  14 ++++-
 .../examples}/convolution/convolution.cl      |   0
 .../main/resources}/knight.png                | Bin
 .../main/resources}/testcard.jpg              | Bin
 17 files changed, 78 insertions(+), 112 deletions(-)
 delete mode 100644 samples/convolution/.gitignore
 delete mode 100644 samples/convolution/.project
 delete mode 100644 samples/convolution/build.xml
 delete mode 100644 samples/convolution/conv.bat
 delete mode 100644 samples/convolution/conv.sh
 delete mode 100644 samples/convolution/opencl.bat
 delete mode 100644 samples/convolution/pureJava.bat
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/ConvMatrix3x3Editor.java (91%)
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/Convolution.java (90%)
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/ConvolutionOpenCL.java (87%)
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/ConvolutionViewer.java (91%)
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/PureJava.java (88%)
 rename {samples/convolution/src/com/amd/aparapi/sample => src/main/java/com/syncleus/aparapi/examples}/convolution/convolution.cl (100%)
 rename {samples/convolution => src/main/resources}/knight.png (100%)
 rename {samples/convolution => src/main/resources}/testcard.jpg (100%)

diff --git a/pom.xml b/pom.xml
index 7bb0d648..b9d74aa7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -95,6 +95,7 @@
                     <mainClass>com.syncleus.aparapi.examples.All</mainClass>
                     <arguments>
                         <argument>com.syncleus.aparapi.executionMode=GPU</argument>
+                        <argument>com.syncleus.aparapi.enableShowGeneratedOpenCL=true</argument>
                     </arguments>
                 </configuration>
             </plugin>
diff --git a/samples/convolution/.gitignore b/samples/convolution/.gitignore
deleted file mode 100644
index 840e7d31..00000000
--- a/samples/convolution/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/classes/
diff --git a/samples/convolution/.project b/samples/convolution/.project
deleted file mode 100644
index a304e12f..00000000
--- a/samples/convolution/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>convolution</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/samples/convolution/build.xml b/samples/convolution/build.xml
deleted file mode 100644
index aa4db3c0..00000000
--- a/samples/convolution/build.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="convolution" default="build" basedir=".">
-
-	<!-- Ideally this would be the latest version of Java but not everyone is going to have it installed -->
-	<!-- Additionally we want to avoid "Class not found: javac1.8" errors from old Ant versions (i.e. Eclipse) -->
-	<property name="build.compiler" value="javac1.7" />
-	<property name="ant.build.javac.source" value="1.7" />
-	<property name="ant.build.javac.target" value="1.7" />
-
-	<path id="compiler.class.path">
-		<pathelement path="../../com.syncleus.aparapi/dist/aparapi.jar" />
-	</path>
-
-	<path id="runtime.class.path" cache="true">
-		<path refid="compiler.class.path" />
-		<pathelement path="${ant.project.name}.jar" />
-	</path>
-
-	<target name="build" depends="clean">
-		<mkdir dir="classes" />
-		<javac srcdir="src" destdir="classes" debug="on" includeantruntime="false">
-			<classpath>
-				<pathelement path="../../com.syncleus.aparapi/dist/aparapi.jar" />
-			</classpath>
-		</javac>
-		<copy file="src\com\amd\aparapi\sample\convolution\convolution.cl" toDir="classes\com\amd\aparapi\sample\convolution" />
-		<jar jarfile="${ant.project.name}.jar" basedir="classes" />
-	</target>
-
-	<target name="clean">
-		<delete dir="classes" />
-		<delete file="${ant.project.name}.jar" />
-	</target>
-
-	<target name="run-jtp">
-		<java classname="com.syncleus.aparapi.sample.convolution.Convolution" fork="true">
-			<classpath refid="runtime.class.path" />
-			<sysproperty key="java.library.path" path="..\..\com.syncleus.aparapi.jni\dist" />
-			<sysproperty key="com.syncleus.aparapi.executionMode" value="JTP" />
-		</java>
-	</target>
-
-	<target name="run-gpu">
-		<java classname="com.syncleus.aparapi.sample.convolution.Convolution" fork="true">
-			<classpath refid="runtime.class.path" />
-			<sysproperty key="java.library.path" path="..\..\com.syncleus.aparapi.jni\dist" />
-			<sysproperty key="com.syncleus.aparapi.executionMode" value="GPU" />
-		</java>
-	</target>
-
-	<target name="run" depends="run-gpu" />
-
-</project>
diff --git a/samples/convolution/conv.bat b/samples/convolution/conv.bat
deleted file mode 100644
index 03746096..00000000
--- a/samples/convolution/conv.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-java ^
- -Djava.library.path=../../com.syncleus.aparapi.jni/dist ^
- -Dcom.syncleus.aparapi.executionMode=%1 ^
- -Dcom.syncleus.aparapi.enableShowGeneratedOpenCL=true ^
- -classpath ../../com.syncleus.aparapi/dist/aparapi.jar;convolution.jar ^
- com.syncleus.aparapi.sample.convolution.Convolution %2
-
diff --git a/samples/convolution/conv.sh b/samples/convolution/conv.sh
deleted file mode 100644
index 4fa3539f..00000000
--- a/samples/convolution/conv.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-java \
-  -Djava.library.path=../../com.syncleus.aparapi.jni/dist\
-  -Dcom.syncleus.aparapi.executionMode=$1\
-  -Dcom.syncleus.aparapi.enableShowGeneratedOpenCL=true\
-  -classpath ../../com.syncleus.aparapi/dist/aparapi.jar:convolution.jar\
-  com.syncleus.aparapi.sample.convolution.Convolution $2
diff --git a/samples/convolution/opencl.bat b/samples/convolution/opencl.bat
deleted file mode 100644
index afd39d52..00000000
--- a/samples/convolution/opencl.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-java ^
- -Djava.library.path=../../com.syncleus.aparapi.jni/dist ^
- -Dcom.syncleus.aparapi.executionMode=%1 ^
- -classpath ../../com.syncleus.aparapi/dist/aparapi.jar;convolution.jar ^
- com.syncleus.aparapi.sample.convolution.ConvolutionOpenCL %2
-
diff --git a/samples/convolution/pureJava.bat b/samples/convolution/pureJava.bat
deleted file mode 100644
index df2fb0fa..00000000
--- a/samples/convolution/pureJava.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-java ^
- -Djava.library.path=../../com.syncleus.aparapi.jni/dist ^
- -Dcom.syncleus.aparapi.executionMode=%1 ^
- -classpath ../../com.syncleus.aparapi/dist/aparapi.jar;convolution.jar ^
- com.syncleus.aparapi.sample.convolution.PureJava %2
-
diff --git a/src/main/java/com/syncleus/aparapi/examples/All.java b/src/main/java/com/syncleus/aparapi/examples/All.java
index 4628fa2c..4df4625b 100644
--- a/src/main/java/com/syncleus/aparapi/examples/All.java
+++ b/src/main/java/com/syncleus/aparapi/examples/All.java
@@ -13,11 +13,14 @@ package com.syncleus.aparapi.examples;
 import java.util.Scanner;
 
 public class All {
-    public static void main(String[] _args) {
+    public static void main(String[] _args) throws Exception {
         System.out.println("Select which example to run:");
         System.out.println("  1) Game of Life");
         System.out.println("  2) Mandelbrot");
         System.out.println("  3) Mandlebrot 2D");
+        System.out.println("  4) Convolution");
+        System.out.println("  5) Convolution (OpenCL)");
+        System.out.println("  6) Convolution (pure Java)");
         System.out.println();
 
         Scanner in = new Scanner(System.in);
@@ -28,7 +31,7 @@ public class All {
             if( in.hasNextLine() )
             {
                 String line = in.nextLine();
-                running = selected(line);
+                running = selected(line, _args);
                 System.out.println();
             }
             else
@@ -41,7 +44,7 @@ public class All {
         }
     }
 
-    private static boolean selected(String line)
+    private static boolean selected(String line, String[] args) throws Exception
     {
         if( line.toUpperCase().equals("Q") )
            return false;
@@ -49,13 +52,22 @@ public class All {
         switch(line)
         {
             case "1":
-                com.syncleus.aparapi.examples.life.Main.main(null);
+                com.syncleus.aparapi.examples.life.Main.main(args);
                 break;
             case "2":
-                com.syncleus.aparapi.examples.mandel.Main.main(null);
+                com.syncleus.aparapi.examples.mandel.Main.main(args);
                 break;
             case "3":
-                com.syncleus.aparapi.examples.mandel.Main2D.main(null);
+                com.syncleus.aparapi.examples.mandel.Main2D.main(args);
+                break;
+            case "4":
+                com.syncleus.aparapi.examples.convolution.Convolution.main(args);
+                break;
+            case "5":
+                com.syncleus.aparapi.examples.convolution.ConvolutionOpenCL.main(args);
+                break;
+            case "6":
+                com.syncleus.aparapi.examples.convolution.PureJava.main(args);
                 break;
             default:
                 System.out.println("Invalid selection.");
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvMatrix3x3Editor.java b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvMatrix3x3Editor.java
similarity index 91%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/ConvMatrix3x3Editor.java
rename to src/main/java/com/syncleus/aparapi/examples/convolution/ConvMatrix3x3Editor.java
index 75d4ea22..39a22504 100644
--- a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvMatrix3x3Editor.java
+++ b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvMatrix3x3Editor.java
@@ -1,3 +1,13 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
@@ -36,7 +46,7 @@ under those regulations, please refer to the U.S. Bureau of Industry and Securit
 
 */
 
-package com.syncleus.aparapi.sample.convolution;
+package com.syncleus.aparapi.examples.convolution;
 
 import java.awt.BorderLayout;
 import java.awt.Component;
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/Convolution.java b/src/main/java/com/syncleus/aparapi/examples/convolution/Convolution.java
similarity index 90%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/Convolution.java
rename to src/main/java/com/syncleus/aparapi/examples/convolution/Convolution.java
index 6452b245..4e8a7f52 100644
--- a/samples/convolution/src/com/amd/aparapi/sample/convolution/Convolution.java
+++ b/src/main/java/com/syncleus/aparapi/examples/convolution/Convolution.java
@@ -1,3 +1,13 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
@@ -36,7 +46,7 @@ under those regulations, please refer to the U.S. Bureau of Industry and Securit
 
  */
 
-package com.syncleus.aparapi.sample.convolution;
+package com.syncleus.aparapi.examples.convolution;
 
 import com.syncleus.aparapi.*;
 
@@ -46,7 +56,7 @@ public class Convolution {
 
     public static void main(final String[] _args) throws IOException {
 
-        final File file = new File(_args.length == 1 ? _args[0] : "./samples/convolution/testcard.jpg").getCanonicalFile();
+        final File file = new File(_args.length == 1 ? _args[0] : "./src/main/resources/testcard.jpg").getCanonicalFile();
 
         final ImageConvolution convolution = new ImageConvolution();
 
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionOpenCL.java b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionOpenCL.java
similarity index 87%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionOpenCL.java
rename to src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionOpenCL.java
index aad33f9e..e611395d 100644
--- a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionOpenCL.java
+++ b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionOpenCL.java
@@ -1,3 +1,13 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
@@ -36,7 +46,7 @@ under those regulations, please refer to the U.S. Bureau of Industry and Securit
 
 */
 
-package com.syncleus.aparapi.sample.convolution;
+package com.syncleus.aparapi.examples.convolution;
 
 import com.syncleus.aparapi.*;
 import com.syncleus.aparapi.device.*;
@@ -48,7 +58,7 @@ import java.io.*;
 
 public class ConvolutionOpenCL{
 
-   @Resource("com/amd/aparapi/sample/convolution/convolution.cl") interface Convolution extends OpenCL<Convolution>{
+   @Resource("com/syncleus/aparapi/examples/convolution/convolution.cl") interface Convolution extends OpenCL<Convolution>{
       Convolution applyConvolution(//
             Range range, //
             @GlobalReadOnly("_convMatrix3x3") float[] _convMatrix3x3,//// only read from kernel 
@@ -59,7 +69,7 @@ public class ConvolutionOpenCL{
    }
 
    public static void main(final String[] _args) {
-      final File file = new File(_args.length == 1 ? _args[0] : "testcard.jpg");
+      final File file = new File(_args.length == 1 ? _args[0] : "./src/main/resources/testcard.jpg");
 
       final OpenCLDevice openclDevice = (OpenCLDevice) KernelManager.instance().bestDevice();
 
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionViewer.java b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionViewer.java
similarity index 91%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionViewer.java
rename to src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionViewer.java
index 00d7d3e1..c5773344 100644
--- a/samples/convolution/src/com/amd/aparapi/sample/convolution/ConvolutionViewer.java
+++ b/src/main/java/com/syncleus/aparapi/examples/convolution/ConvolutionViewer.java
@@ -1,3 +1,13 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
@@ -36,7 +46,7 @@ under those regulations, please refer to the U.S. Bureau of Industry and Securit
 
 */
 
-package com.syncleus.aparapi.sample.convolution;
+package com.syncleus.aparapi.examples.convolution;
 
 import java.awt.BorderLayout;
 import java.awt.Color;
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/PureJava.java b/src/main/java/com/syncleus/aparapi/examples/convolution/PureJava.java
similarity index 88%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/PureJava.java
rename to src/main/java/com/syncleus/aparapi/examples/convolution/PureJava.java
index 7439a51c..4ac820fb 100644
--- a/samples/convolution/src/com/amd/aparapi/sample/convolution/PureJava.java
+++ b/src/main/java/com/syncleus/aparapi/examples/convolution/PureJava.java
@@ -1,3 +1,13 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
@@ -36,7 +46,7 @@ under those regulations, please refer to the U.S. Bureau of Industry and Securit
 
 */
 
-package com.syncleus.aparapi.sample.convolution;
+package com.syncleus.aparapi.examples.convolution;
 
 import java.io.File;
 
@@ -89,7 +99,7 @@ public class PureJava{
    }
 
    public static void main(final String[] _args) {
-      File file = new File(_args.length == 1 ? _args[0] : "testcard.jpg");
+      File file = new File(_args.length == 1 ? _args[0] : "./src/main/resources/testcard.jpg");
 
       final ImageConvolution convolution = new ImageConvolution();
 
diff --git a/samples/convolution/src/com/amd/aparapi/sample/convolution/convolution.cl b/src/main/java/com/syncleus/aparapi/examples/convolution/convolution.cl
similarity index 100%
rename from samples/convolution/src/com/amd/aparapi/sample/convolution/convolution.cl
rename to src/main/java/com/syncleus/aparapi/examples/convolution/convolution.cl
diff --git a/samples/convolution/knight.png b/src/main/resources/knight.png
similarity index 100%
rename from samples/convolution/knight.png
rename to src/main/resources/knight.png
diff --git a/samples/convolution/testcard.jpg b/src/main/resources/testcard.jpg
similarity index 100%
rename from samples/convolution/testcard.jpg
rename to src/main/resources/testcard.jpg
-- 
GitLab