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