diff --git a/source/documentation/BuildingNBody.html.md b/source/documentation/BuildingNBody.html.md index c9bb3445252601bc5550ebdfc2cf6b499fc7428d..5cd6cd2cbd523dd931145fab398c9be3c7c1c835 100644 --- a/source/documentation/BuildingNBody.html.md +++ b/source/documentation/BuildingNBody.html.md @@ -11,7 +11,7 @@ The NBody example is located in the/ examples subdirectory under the Aparapi tru examples/ ... nbody/ - src/java/com.amd.aparapi.nbody/ + src/java/com.syncleus.aparapi.nbody/ build.xml nbody.sh nbody.bat diff --git a/source/documentation/ConvertingBytecodeToOpenCL.html.md b/source/documentation/ConvertingBytecodeToOpenCL.html.md index 6892603000c4196b1c189f387a2cf8995f77d6eb..5caf0dfb9994f3163a9ddf05b83427a797d3aaa2 100644 --- a/source/documentation/ConvertingBytecodeToOpenCL.html.md +++ b/source/documentation/ConvertingBytecodeToOpenCL.html.md @@ -23,7 +23,7 @@ The classfile format is well documented here and we will not go into too much de Lets start with a simple Kernel. - import com.amd.aparapi.Kernel; + import com.syncleus.aparapi.Kernel; public class Squarer extends Kernel{ int[] in; @@ -44,7 +44,7 @@ and then we can look at the bytecode using javap Compiled from "Squarer.java" - public class Squarer extends com.amd.aparapi.Kernel + public class Squarer extends com.syncleus.aparapi.Kernel SourceFile: "Squarer.java" minor version: 0 major version: 50 diff --git a/source/documentation/DevelopersGuideLinux.html.md b/source/documentation/DevelopersGuideLinux.html.md index 8c5fe5c21398264793fca865e7e40bbe7d1fec47..1d70b77c0acb4d045a6aff6e8f061e15e41a5439 100644 --- a/source/documentation/DevelopersGuideLinux.html.md +++ b/source/documentation/DevelopersGuideLinux.html.md @@ -91,7 +91,7 @@ Download JUnit from http://www.junit.org/ and note the location of your JUnit in ##Eclipse -Eclipse is not required to build Aparapi; however, the developers of Aparapi do use Eclipse and have made the Eclipse artifacts (.classpath and .project files) available so that projects can be imported into Eclipse. The com.amd.aparapi.jni subproject (containing C++ JNI source) should be imported as a resource project. We do not recommend importing com.amd.aparapi.jni as a CDT project, and we do not recommend trying to configure a CDT build, the existing build.xml files has been customized for multiplatform C++ compilations. +Eclipse is not required to build Aparapi; however, the developers of Aparapi do use Eclipse and have made the Eclipse artifacts (.classpath and .project files) available so that projects can be imported into Eclipse. The com.syncleus.aparapi.jni subproject (containing C++ JNI source) should be imported as a resource project. We do not recommend importing com.syncleus.aparapi.jni as a CDT project, and we do not recommend trying to configure a CDT build, the existing build.xml files has been customized for multiplatform C++ compilations. ##Building @@ -102,43 +102,43 @@ Check out the Aparapi SVN trunk: Checkout provides the following: aparapi/ - com.amd.aparapi/ - src/java/com.amd.aparapi/*.java + com.syncleus.aparapi/ + src/java/com.syncleus.aparapi/*.java build.xml - com.amd.aparapi.jni/ + com.syncleus.aparapi.jni/ src/cpp/*.cpp src/cpp/*.h build.xml test/ codegen/ src/java/ - com.amd.aparapi/ - com.amd.aparapi.test/ + com.syncleus.aparapi/ + com.syncleus.aparapi.test/ build.xml runtime/ src/java/ - com.amd.aparapi/ - com.amd.aparapi.test/ + com.syncleus.aparapi/ + com.syncleus.aparapi.test/ build.xml samples/ mandel - src/java/com.amd.aparapi.samples.mandel/*.java + src/java/com.syncleus.aparapi.samples.mandel/*.java build.xml mandel.sh mandel.bat squares/ - src/java/com.amd.aparapi.samples.squares/*.java + src/java/com.syncleus.aparapi.samples.squares/*.java build.xml squares.sh squares.bat convolution/ - src/java/com.amd.aparapi.samples.convolution/*.java + src/java/com.syncleus.aparapi.samples.convolution/*.java build.xml conv.sh conv.bat examples/ nbody/ - src/java/com.amd.aparapi.nbody/ + src/java/com.syncleus.aparapi.nbody/ build.xml nbody.sh nbody.bat @@ -149,16 +149,16 @@ Checkout provides the following: ##Sub Directories -The com.amd.aparapi and com.amd.aparapi.jni subdirectories contain the source for building and using Aparapi. +The com.syncleus.aparapi and com.syncleus.aparapi.jni subdirectories contain the source for building and using Aparapi. The ant build.xml file, in each folder accept common 'clean' and 'build' targets. You can use the build.xml file at the root of the tree for two purposes: - To initiate a build com.amd.aparapi of com.amd.aparapi.jni. + To initiate a build com.syncleus.aparapi of com.syncleus.aparapi.jni. To create a binary ‘distribution’ directory and zip file. This zip file is same as those available from the download section of the code.google.com/p/aparapi site. ##Preparing for your first build -Edit com.amd.aparapi.jni\build.properties and ensure that the properties are valid for your platform. +Edit com.syncleus.aparapi.jni\build.properties and ensure that the properties are valid for your platform. View the comments in the properties file for assistance. The build.xml ant file contains some simple checks to help diagnose simple configuration errors in case something gets messed up. diff --git a/source/documentation/DevelopersGuideWindows.html.md b/source/documentation/DevelopersGuideWindows.html.md index f654cb15be00f4a71216f6543f8402b2145bbf51..fd25bbe71d74b94c1407725729cab78c93de91be 100644 --- a/source/documentation/DevelopersGuideWindows.html.md +++ b/source/documentation/DevelopersGuideWindows.html.md @@ -63,7 +63,7 @@ Once you have a suitable driver, download a copy of AMD APP SDK v2.5 from http:/ Download the installation guide for Microsoft® Windows® (and Linux®) from http://developer.amd.com/sdks/AMDAPPSDK/assets/AMD_APP_SDK_Installation_Notes.pdf. Note that if you updating from a previous version of AMD APP SDK (or its predecessor ATI STREAM SDK), first uninstall the previous version. The release notes are available here http://developer.amd.com/sdks/AMDAPPSDK/assets/AMD_APP_SDK_Release_Notes_Developer.pdf ##A C++ compiler -For Microsoft® Windows® platforms the JNI build can support either Microsoft® Visual Studio® 2008, 2009 or 2010 compiler or MinGW (Minimal GNU for Windows) from GNU. Now that Visual Studio express is available for free, we would recommend using Visual studio. If you wish to use another compiler then you will have to tweak the com.amd.aparapi.jni/build.xml file to get your compiler to work. +For Microsoft® Windows® platforms the JNI build can support either Microsoft® Visual Studio® 2008, 2009 or 2010 compiler or MinGW (Minimal GNU for Windows) from GNU. Now that Visual Studio express is available for free, we would recommend using Visual studio. If you wish to use another compiler then you will have to tweak the com.syncleus.aparapi.jni/build.xml file to get your compiler to work. Microsoft® Visual Studio® 2008/2010 for 32-bit or 64-bit platforms Aparapi has been tested with various versions of Microsoft® Visual Studio® 2008, 2009 and 2010 including Enterprise, Professional and Express editions, if you encounter any version specific issues please let us know so we can address it and/or update this documentation. @@ -72,7 +72,7 @@ If you already have Microsoft® Visual Studio® installed you will need to know And an SDK, such as. c:\Program Files\Microsoft SDKs\Windows\v6.0A -Note the location of both of these as this information will be needed to configure the com.amd.aparapi.jni\build.property file (later). +Note the location of both of these as this information will be needed to configure the com.syncleus.aparapi.jni\build.property file (later). For Visual Studio Express 64 bit users Visual studio express does not include the 64 bit compiler or libraries. You will need to also install the SDK from Microsoft. this link should help @@ -102,7 +102,7 @@ Note the location of your JUnit installation; the location is needed to configur Eclipse is not required to build Aparapi, however the developers of Aparapi do use Eclipse and have made the Eclipse artifacts (.classpath and .project files) available so that projects can be imported into Eclipse. -The com.amd.aparapi.jni subproject (containing C++ JNI source) should be imported as a resource project, we do not recommend importing com.amd.aparapi.jni as a CDT project, and we do not recommend trying to configure a CDT build, the existing build.xml files has been customized for multiplatform C++ compilations. +The com.syncleus.aparapi.jni subproject (containing C++ JNI source) should be imported as a resource project, we do not recommend importing com.syncleus.aparapi.jni as a CDT project, and we do not recommend trying to configure a CDT build, the existing build.xml files has been customized for multiplatform C++ compilations. ##Building Check out the Aparapi SVN trunk: @@ -112,43 +112,43 @@ svn checkout http://aparapi.googlecode.com/svn/trunk You will end up with the following files/directories aparapi/ - com.amd.aparapi/ - src/java/com.amd.aparapi/*.java + com.syncleus.aparapi/ + src/java/com.syncleus.aparapi/*.java build.xml - com.amd.aparapi.jni/ + com.syncleus.aparapi.jni/ src/cpp/*.cpp src/cpp/*.h build.xml test/ codegen/ src/java/ - com.amd.aparapi/ - com.amd.aparapi.test/ + com.syncleus.aparapi/ + com.syncleus.aparapi.test/ build.xml runtime/ src/java/ - com.amd.aparapi/ - com.amd.aparapi.test/ + com.syncleus.aparapi/ + com.syncleus.aparapi.test/ build.xml samples/ mandel - src/java/com.amd.aparapi.samples.mandel/*.java + src/java/com.syncleus.aparapi.samples.mandel/*.java build.xml mandel.sh mandel.bat squares/ - src/java/com.amd.aparapi.samples.squares/*.java + src/java/com.syncleus.aparapi.samples.squares/*.java build.xml squares.sh squares.bat convolution/ - src/java/com.amd.aparapi.samples.convolution/*.java + src/java/com.syncleus.aparapi.samples.convolution/*.java build.xml conv.sh conv.bat examples/ nbody/ - src/java/com.amd.aparapi.nbody/ + src/java/com.syncleus.aparapi.nbody/ build.xml nbody.sh nbody.bat @@ -159,18 +159,18 @@ You will end up with the following files/directories ##Sub Directories -The com.amd.aparapi and com.amd.aparapi.jni subdirectories contain the source for building and using Aparapi. +The com.syncleus.aparapi and com.syncleus.aparapi.jni subdirectories contain the source for building and using Aparapi. The ant build.xml file, in each folder accept 'clean' and 'build' targets. Use the build.xml file at the root of the tree for two purposes: - To initiate a build of com.amd.aparapi and com.amd.aparapi.jni. + To initiate a build of com.syncleus.aparapi and com.syncleus.aparapi.jni. To create a binary distribution directory and zip file. This zip file is same as those available from the download section of the code.google.com/p/aparapi site. ##Preparing for your first build -You should only need to edit com.amd.aparapi.jni\build.xml file if you wish to use mingw or if you Visual Studio or gcc compiler is in an unusual place. +You should only need to edit com.syncleus.aparapi.jni\build.xml file if you wish to use mingw or if you Visual Studio or gcc compiler is in an unusual place. Perform a build from the root directory using the following command: diff --git a/source/documentation/FrequentlyAskedQuestions.html.md b/source/documentation/FrequentlyAskedQuestions.html.md index 3661d7fdf531f90773e2fbc50574238404da004e..41c15ccf555c9848705c90fa3d7edb080a4be5a5 100644 --- a/source/documentation/FrequentlyAskedQuestions.html.md +++ b/source/documentation/FrequentlyAskedQuestions.html.md @@ -52,7 +52,7 @@ Due to Java's lack of vector types (float4 for example) Aparapi can't directly u ##Is there a way I can see the generated OpenCL? -Yes, by using adding -Dcom.amd.aparapi.enableShowGeneratedOpenCL=true to your command line when you start your JVM. +Yes, by using adding -Dcom.syncleus.aparapi.enableShowGeneratedOpenCL=true to your command line when you start your JVM. ##Does Aparapi support sharing buffers with JOGL? Can I exploit the features of JOGAMP/glugen? @@ -97,7 +97,7 @@ From within the Java code itself you can query the execution mode after Kernel.e The above code fragment will print either ‘GPU’ if the kernel executed on the GPU or JTP if Aparapi executed the Kernel in a Java Thread Pool. -Alternatively, setting the property –Dcom.amd.aparapi.enableShowExecutionModes=true when you start your JVM will cause Aparapi to automatically report the execution mode of all kernels to stdout. +Alternatively, setting the property –Dcom.syncleus.aparapi.enableShowExecutionModes=true when you start your JVM will cause Aparapi to automatically report the execution mode of all kernels to stdout. ##Why does Aparapi need me to compile my code with -g? diff --git a/source/documentation/PrivateMemorySpace.html.md b/source/documentation/PrivateMemorySpace.html.md index 71356b0d14b47bf998278a137847dcd7d572790c..47a8c0a2a5a303717fb77bab5975c65b6f65e00c 100644 --- a/source/documentation/PrivateMemorySpace.html.md +++ b/source/documentation/PrivateMemorySpace.html.md @@ -30,6 +30,6 @@ Without modification, an Aparapi kernel which uses private buffers may fail to w The Kernel.NoCL annotation exists to allow specialised code to be executed when running in Java (or JTP) which is not invoked when running on the GPU. A NoCL method can be inserted at the begining of a Kernel's run() method which sets the private array to a value obtained from a static ThreadLocal<foo[]> where foo is the primitive type of the array in question. This will have no effect upon OpenCL execution, but will allow threadsafe execution when running in java. -In the project samples, there is a package com.amd.aparapi.sample.median which gives an example of a median image filter which uses a private array of pixel data to apply a distructive median algorithm to a "window" of local pixels. This sample also demonstrates how to use the ThreadLocal trick to allow correct behaviour when running in JTP execution mode. +In the project samples, there is a package com.syncleus.aparapi.sample.median which gives an example of a median image filter which uses a private array of pixel data to apply a distructive median algorithm to a "window" of local pixels. This sample also demonstrates how to use the ThreadLocal trick to allow correct behaviour when running in JTP execution mode. [http://code.google.com/p/aparapi/source/browse/trunk/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java](http://code.google.com/p/aparapi/source/browse/trunk/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java) \ No newline at end of file diff --git a/source/documentation/ProfilingKernelExecution.html.md b/source/documentation/ProfilingKernelExecution.html.md index 39728080aa5996d13674170315a0b1412e33e953..96ddd1c1136a8d9792c63583a26961067672a292 100644 --- a/source/documentation/ProfilingKernelExecution.html.md +++ b/source/documentation/ProfilingKernelExecution.html.md @@ -6,7 +6,7 @@ If you want to extract OpenCL performance info from a kernel at runtime you need to set the property :- - -Dcom.amd.aparapi.enableProfiling=true + -Dcom.syncleus.aparapi.enableProfiling=true Your application can then call kernel.getProfileInfo() after a successful call to kernel.execute(range) to extract a List List<ProfileInfo>. @@ -45,7 +45,7 @@ And here is the tabular output from java -Djava.library.path=${APARAPI_HOME} - -Dcom.amd.aparapi.enableProfiling=true + -Dcom.syncleus.aparapi.enableProfiling=true -cp ${APARAPI_HOME}:. MyClass diff --git a/source/documentation/UnitTestGuide.html.md b/source/documentation/UnitTestGuide.html.md index 103cf7a1011094ef3c5ff90c662d7bbfd9276db8..f3b71e19c53bb329d4e88996a1f9d07d3c49866e 100644 --- a/source/documentation/UnitTestGuide.html.md +++ b/source/documentation/UnitTestGuide.html.md @@ -12,14 +12,14 @@ OpenCLâ„¢ code generation tests The initial open source tree includes the codegen subdirectory (test/codegen), which used to validate the Aparapi bytecode to OpenCLâ„¢ conversion. aparapi/trunk/ - com.amd.aparapi/ - src/java/com.amd.aparapi/ + com.syncleus.aparapi/ + src/java/com.syncleus.aparapi/ build.xml test/ codegen/ src/java/ - com.amd.aparapi/ - com.amd.aparapi.test/ + com.syncleus.aparapi/ + com.syncleus.aparapi.test/ build.xml build.xml @@ -27,7 +27,7 @@ The code generation tests to not require OpenCLâ„¢ , AMD APP SDK or a GPU device ##Running the OpenCLâ„¢ code generation JUnit tests -Before executing the code generation tests, build the com.amd.aparapi sub-project and ensure that you have JUnit 4 installed. +Before executing the code generation tests, build the com.syncleus.aparapi sub-project and ensure that you have JUnit 4 installed. Edit the junit.jar property in test/codegen/build.xml to point to your install directory. @@ -52,13 +52,13 @@ On Linux(r) platforms just invoke your browser (Firefox in this case). The test cases for OpenCLâ„¢ code generation are not strictly JUnit tests. Instead the codegen Java tree contains a tool (CreateJUnitTests) to create JUnit test cases from specially formatted test source files. -The package `com.amd.aparapi.test (codegen/src/java/com/amd/aparapi/test)` contains all of the existing code generation tests. +The package `com.syncleus.aparapi.test (codegen/src/java/com/amd/aparapi/test)` contains all of the existing code generation tests. -Here is an example that tests the code generation resulting from a call to Kernel.getPassId(), this is taken from com.amd.aparapi.test.CallGetPassId +Here is an example that tests the code generation resulting from a call to Kernel.getPassId(), this is taken from com.syncleus.aparapi.test.CallGetPassId - package com.amd.aparapi.test; + package com.syncleus.aparapi.test; - import com.amd.aparapi.Kernel; + import com.syncleus.aparapi.Kernel; public class CallGetPassId extends Kernel{ public void run() { @@ -93,7 +93,7 @@ The test source takes the form of a simple class that extends the kernel and a b The code-generating ant build.xml file performs the following steps to generate its report: * compiles the src/java tree. This compiles all the test cases as well as a few ‘utility’ classes. -* executes the com.amd.aparapi.test.CreateJUnitTests program. This iterates through all of the test source files and converts them to JUnit form. The generated source is written to the src/genjava tree. +* executes the com.syncleus.aparapi.test.CreateJUnitTests program. This iterates through all of the test source files and converts them to JUnit form. The generated source is written to the src/genjava tree. * compiles the src/genjava tree to create the required JUnit classes * initiates the JUnit test phase (result data in junit/data) * creates the JUnit report (in junit/html/junit from junit/data) @@ -125,7 +125,7 @@ Logically either of the above are correct. However, to accommodate the alternate Here is the complete BooleanToggle code. - package com.amd.aparapi.test; + package com.syncleus.aparapi.test; public class BooleanToggle{ public void run() { diff --git a/source/documentation/UsersGuide.html.md b/source/documentation/UsersGuide.html.md index f52eec9c0d1104389e68f035d27fd549044ad14d..07c761297f87ee3a4140be0351a2f6fac1fa1fe4 100644 --- a/source/documentation/UsersGuide.html.md +++ b/source/documentation/UsersGuide.html.md @@ -51,7 +51,7 @@ Java developers should recognize the general pattern as similar to that used to }); thread.start(); thread.join(); -The Aparapi developer extends the com.amd.aparapi.Kernel and overrides the public void Kernel.run() method. It is this Kernel.run() method that is executed in parallel. +The Aparapi developer extends the com.syncleus.aparapi.Kernel and overrides the public void Kernel.run() method. It is this Kernel.run() method that is executed in parallel. The base class also exposes the Kernel.execute(range) method which is used to initiate the execution of Kernel.run() over the range 0...n. @@ -91,9 +91,9 @@ An application can detect whether a kernel was executed on the GPU or by a Java System.out.println(“Kernel nid not execute on the GPU!â€); } -To obtain a runtime report of the execution mode of all kernel executions, set the com.amd.aparapi.enableExecutionModeReporting property to true when the JVM is launched. +To obtain a runtime report of the execution mode of all kernel executions, set the com.syncleus.aparapi.enableExecutionModeReporting property to true when the JVM is launched. - $ java –Djava.library.path=${APARAPI_DIR} –Dcom.amd.aparapi.enableExecutionModeReporting=true –cp ${APARAPI_DIR}/aparapi.jar;. Squares + $ java –Djava.library.path=${APARAPI_DIR} –Dcom.syncleus.aparapi.enableExecutionModeReporting=true –cp ${APARAPI_DIR}/aparapi.jar;. Squares ##Running the sample applications Aparapi includes two sample applications in the /samples subdirectory of the binary distribution zip file. @@ -107,7 +107,7 @@ You will need an appropriate GPU card, OpenCL® enabled Catalyst® driver and a Set the environment variable JAVA_HOME to point to the root of your JRE or JDK. Change to the appropriate samples directory (samples/squares or samples/mandel) Run either the .bat or .sh script. On Linux® , you might have to initially chmod +x script.sh to add execute permissions. -The sample scripts pass the first arg (%1 or $1) to -Dcom.amd.aparapi.executionMode when the JVM is launched. This allows the sample to be tested in either GPU or JTP execution modes by passing the requested mode. +The sample scripts pass the first arg (%1 or $1) to -Dcom.syncleus.aparapi.executionMode when the JVM is launched. This allows the sample to be tested in either GPU or JTP execution modes by passing the requested mode. $ cd samples/mandel $ bash ./mandel.sh GPU diff --git a/source/documentation/UsingAparapiLambdaBranchWithHSASimulator.html.md b/source/documentation/UsingAparapiLambdaBranchWithHSASimulator.html.md index 1f2f13d9842f7de548e9520d1ef5ceba3619735e..32d802ed797ade674af4e49ac76864dc7fcfbc26 100644 --- a/source/documentation/UsingAparapiLambdaBranchWithHSASimulator.html.md +++ b/source/documentation/UsingAparapiLambdaBranchWithHSASimulator.html.md @@ -45,5 +45,5 @@ Assuming your aparapi svn trunk is /home/gfrost/aparapi $ cd /home/gfrost/aparapi/branches/lambda $ ant $ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${OKRA}/dist/bin - $ java -agentpath:com.amd.aparapi.jni/dist/libaparapi_x86_64.so -cp com.amd.aparapi/dist/aparapi.jar:${OKRA}/dist/okra.jar hsailtest.Squares + $ java -agentpath:com.syncleus.aparapi.jni/dist/libaparapi_x86_64.so -cp com.syncleus.aparapi/dist/aparapi.jar:${OKRA}/dist/okra.jar hsailtest.Squares $ \ No newline at end of file diff --git a/source/documentation/UsingConstantMemory.html.md b/source/documentation/UsingConstantMemory.html.md index c8eb34f2bbcb668d67b21a58046e0d6bce33301d..29ee8dd9c4f91cd7189f94a649bcb03f09557dad 100644 --- a/source/documentation/UsingConstantMemory.html.md +++ b/source/documentation/UsingConstantMemory.html.md @@ -4,7 +4,7 @@ *How to make use of constant memory in a Kernel Updated Feb 28, 2012 by frost.g...@gmail.com* ##How to make use of new constant memory feature -By default all primitive arrays accessed by an Aparapi Kernel is considered global. If we look at the generated code using `-Dcom.amd.aparapi.enableShowGeneratedOpenCL=true` we will see that primitive arrays (such as `int buf[]`) are mapped to `__global` pointers (such as `__global int *buf`) in OpenCL. +By default all primitive arrays accessed by an Aparapi Kernel is considered global. If we look at the generated code using `-Dcom.syncleus.aparapi.enableShowGeneratedOpenCL=true` we will see that primitive arrays (such as `int buf[]`) are mapped to `__global` pointers (such as `__global int *buf`) in OpenCL. Although this makes Aparapi easy to use (especially to Java developers who are unfamiliar to tiered memory hierarchies), it does limit the ability of the 'power developer' wanting to extract more performance from Aparapi on the GPU. diff --git a/source/documentation/UsingLocalMemory.html.md b/source/documentation/UsingLocalMemory.html.md index 7927d959a11cea4f550c02d56801d8b5b44a19ed..959bc646e6bda93c19b983ec352d40a51f38a799 100644 --- a/source/documentation/UsingLocalMemory.html.md +++ b/source/documentation/UsingLocalMemory.html.md @@ -4,7 +4,7 @@ *How to make use of local memory in a Kernel Updated Feb 28, 2012 by frost.g...@gmail.com* ##How to make use of new local memory feature -By default all primitive arrays accessed by an Aparapi Kernel is considered global. If we look at the generated code using -Dcom.amd.aparapi.enableShowGeneratedOpenCL=true we will see that primitive arrays (such as int buf[]) are mapped to __global pointers (such as __global int *buf) in OpenCL. +By default all primitive arrays accessed by an Aparapi Kernel is considered global. If we look at the generated code using -Dcom.syncleus.aparapi.enableShowGeneratedOpenCL=true we will see that primitive arrays (such as int buf[]) are mapped to __global pointers (such as __global int *buf) in OpenCL. Although this makes Aparapi easy to use (especially to Java developers who are unfamiliar to tiered memory hierarchies), it does limit the ability of the 'power developer' wanting to extract more performance from Aparapi on the GPU. diff --git a/source/documentation/UsingMultiDimExecutionRanges.html.md b/source/documentation/UsingMultiDimExecutionRanges.html.md index 1b03b1b82197fb553e8ecfff510edbf929da8f0a..8f4a9161fa07fabf6454a69b518a5d6e90d85ac3 100644 --- a/source/documentation/UsingMultiDimExecutionRanges.html.md +++ b/source/documentation/UsingMultiDimExecutionRanges.html.md @@ -6,7 +6,7 @@ Aparapi now allows developers to execute over one, two or three dimensional ranges. OpenCL natively allows the user to execute over 1, 2 or 3 dimension grids via the clEnqueueNDRangeKernel() method. -Initially we chose not to expose 2D or 3D ranges (Aparapi's Kernel.execute(range) allowed only !d ranges, but following a specific request we added the notion of a Range via the new com.amd.aparapi.Range class. +Initially we chose not to expose 2D or 3D ranges (Aparapi's Kernel.execute(range) allowed only !d ranges, but following a specific request we added the notion of a Range via the new com.syncleus.aparapi.Range class. A range is created using various static factory methods. For example to create a simple range {0..1024} we would use. diff --git a/source/introduction/about.html.md b/source/introduction/about.html.md index a472680ca8a0e91d54f608ea382048b557878bed..6f10c03a77ade9f6509effb6863e6cc5af7d2291 100644 --- a/source/introduction/about.html.md +++ b/source/introduction/about.html.md @@ -37,7 +37,7 @@ Range range = Range.create(result.length); kernel.execute(range); ``` -In the above code we extend com.amd.aparapi.Kernel base class and override the Kernel.run() method to express our data parallel algorithm. We initiate the execution of the Kernel(over a specific range 0..results.length) using Kernel.execute(range). +In the above code we extend com.syncleus.aparapi.Kernel base class and override the Kernel.run() method to express our data parallel algorithm. We initiate the execution of the Kernel(over a specific range 0..results.length) using Kernel.execute(range). # About the Name