From 7733769a7131736b73d15c9458b550f8b8b86f15 Mon Sep 17 00:00:00 2001
From: Mohamed Ibrahim <mibrahim@mibrahim.net>
Date: Fri, 28 Aug 2015 23:37:13 -0400
Subject: [PATCH] HowToAddUML and ProfilingKernelExecution.md

---
 doc/HowToAddUML.md              |  39 +++++++++++++++++++++++
 doc/ProfilingKernelExecution.md |  53 ++++++++++++++++++++++++++++++++
 doc/README.md                   |   4 +--
 doc/uml.png                     | Bin 0 -> 31633 bytes
 4 files changed, 94 insertions(+), 2 deletions(-)
 create mode 100644 doc/HowToAddUML.md
 create mode 100644 doc/ProfilingKernelExecution.md
 create mode 100644 doc/uml.png

diff --git a/doc/HowToAddUML.md b/doc/HowToAddUML.md
new file mode 100644
index 00000000..8c1c7f49
--- /dev/null
+++ b/doc/HowToAddUML.md
@@ -0,0 +1,39 @@
+#HowToAddUML
+*How to add plantuml docs to wiki pages Updated Apr 20, 2013 by frost.g...@gmail.com*
+
+Go to http://www.plantuml.com/plantuml and type in the text for you diagram.
+
+Hit submit and check out the diagram.
+
+Once you are happy, so with something like
+
+    start
+    :kernel.execute(range);
+    if (?) then (first call for this instance)
+        : Convert Kernel.run() to OpenCL;
+        note
+           We also convert all
+           methods reachable from
+           kernel.run()
+        end note
+        if (?) then (Conversion was successful)
+           : Compile OpenCL;
+           : Map compiled OpenCL to this Kernel;
+        else (Conversion unsuccessful)
+        endif
+    else (not first call)
+    endif
+    if (?) then (OpenCL mapped for this instance)
+       : Bind args (send to GPU);
+       : Execute kernel;
+    else (false)
+       : Execute using a Java Thread Pool;
+    endif
+    stop
+Paste the resulting URL into the wiki page but append %20as.png at the end of the URL
+
+http://www.plantuml.com:80/plantuml/img/BLAHBLAH%20as.png
+
+To get this!
+
+![Image of UML](uml.png)
\ No newline at end of file
diff --git a/doc/ProfilingKernelExecution.md b/doc/ProfilingKernelExecution.md
new file mode 100644
index 00000000..58cc5884
--- /dev/null
+++ b/doc/ProfilingKernelExecution.md
@@ -0,0 +1,53 @@
+#ProfilingKernelExecution
+*Using Aparapi's built in profiling APIs Updated May 7, 2013 by frost.g...@gmail.com*
+
+If you want to extract OpenCL performance info from a kernel at runtime you need to set the property :-
+
+    -Dcom.amd.aparapi.enableProfiling=true
+
+Your application can then call kernel.getProfileInfo() after a successful call to kernel.execute(range) to extract a List List<ProfileInfo>.
+
+Each ProfileInfo holds timing information for buffer writes, executs and buffer reads.
+
+The following code will print a simple table of profile information
+
+    List<ProfileInfo> profileInfo = k.getProfileInfo();
+    for (final ProfileInfo p : profileInfo) {
+       System.out.print(" " + p.getType() + " " + p.getLabel() + " " + (p.getStart() / 1000) + " .. "
+           + (p.getEnd() / 1000) + " " + ((p.getEnd() - p.getStart()) / 1000) + "us");
+       System.out.println();
+    }
+
+Here is an example implementation
+
+            final float result[] = new float[2048*2048];
+            Kernel k = new Kernel(){
+               public void run(){
+                  final int gid=getGlobalId();
+                  result[gid] =0f;
+               }
+            };
+            k.execute(result.length);
+            List<ProfileInfo> profileInfo = k.getProfileInfo();
+
+            for (final ProfileInfo p : profileInfo) {
+               System.out.print(" " + p.getType() + " " + p.getLabel() + " " + (p.getStart() / 1000) + " .. "
+                  + (p.getEnd() / 1000) + " " + ((p.getEnd() - p.getStart()) / 1000) + "us");
+               System.out.println();
+            }
+            k.dispose();
+        }
+    }
+And here is the tabular output from
+
+        java
+           -Djava.library.path=${APARAPI_HOME}
+           -Dcom.amd.aparapi.enableProfiling=true
+           -cp ${APARAPI_HOME}:.
+           MyClass
+
+      W val$result 69500 .. 72694 3194us
+      X exec()     72694 .. 72835  141us
+      R val$result 75327 .. 78225 2898us
+
+The table shows that the transfer of the 'result' buffer to the device ('W') took 3194 us (micro seconds), the execute ('X') of the kernel 141 us and the read ('R') of resulting buffer 2898 us.
\ No newline at end of file
diff --git a/doc/README.md b/doc/README.md
index 0354093d..abf3be06 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -12,8 +12,8 @@ APARAPI Documentation
 | [SettingUpLinuxHSAMachineForAparapiSidebar](SettingUpLinuxHSAMachineForAparapiSidebar.md) | Sidebar for SettingUpLinuxHSAMachineForAparapi |
 | HSASidebar | |
 | [AddingLambdasToAparapi](AddingLambdasToAparapi.md) | Adding Java 8 Lambda Support to Aparapi |
-| ProfilingKernelExecution | Using Aparapi's built in profiling APIs |
-| HowToAddUML | How to add plantuml docs to wiki pages |
+| [ProfilingKernelExecution](ProfilingKernelExecution.md) | Using Aparapi's built in profiling APIs |
+| [HowToAddUML](HowToAddUML.md) | How to add plantuml docs to wiki pages |
 | LIbraryAgentDuality | Aparapi libraries can now be loaded as JVMTI agents. |
 | FrequentlyAskedQuestions | Frequently Asked Questions|
 | HomePageSuggestions ||
diff --git a/doc/uml.png b/doc/uml.png
new file mode 100644
index 0000000000000000000000000000000000000000..5dfc8690ae8500506d8337472ce5efae832de47c
GIT binary patch
literal 31633
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
I_-o()1Lp=Wn*aa+

literal 0
HcmV?d00001

-- 
GitLab