Skip to content
Snippets Groups Projects
Commit 1f373679 authored by Jeffrey Phillips Freeman's avatar Jeffrey Phillips Freeman :boom:
Browse files

Merge branch 'master' into 'master'

docs(javadocs): fixed all JavaDoc errors and warnings.

See merge request !1
parents 6bc3bf5a 28fb2d18
No related branches found
No related tags found
No related merge requests found
Showing
with 332 additions and 294 deletions
......@@ -29,3 +29,7 @@ hs_err_pid*
**/include/
**/nbproject/
target/
# IntelliJ config files
.idea
*.iml
\ No newline at end of file
......@@ -8,6 +8,7 @@
* Steven Libby
* Paul Miner
* Lorenzo Gallucci
* Subhomoy Haldar (HungryBlueDev)
# Details
......@@ -24,4 +25,5 @@ Below are some of the specific details of various contributions.
* Steven Libby provided patch for #6 (Allow finer control over fallback mode selection) Aug 21th 2012
* Steven Libby and Ryan Lamothe for #10 (Support for OpenMP, major refactoring cleanup and support for multidim arrays) March 28th 2013
* Paul Miner issue #61 and #115 (JTP Speed up and fixes to explicit puts) June 13th 2013
& lgalluci for his fix for issue #121 (incorrect toString for 3D ranges) July 6th 2013
\ No newline at end of file
& lgalluci for his fix for issue #121 (incorrect toString for 3D ranges) July 6th 2013
* HungryBlueDev fixed the JavaDoc errors and warnings. July 8th 2019
\ No newline at end of file
......@@ -145,7 +145,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<source>8</source>
</configuration>
</plugin>
<plugin>
......
......@@ -140,7 +140,6 @@ public class Mandel{
* @param _width Mandelbrot image width
* @param _height Mandelbrot image height
* @param _rgb Mandelbrot image RGB buffer
* @param _pallette Mandelbrot image palette
*/
public MandelKernel(int _width, int _height, int[] _rgb) {
//Initialize palette values
......
This diff is collapsed.
......@@ -34,8 +34,8 @@ import com.aparapi.device.OpenCLDevice;
/**
* GPU calculations using OpenBitSet Intersection for OpenBitSets
*
* Based on code from: <br/>
* {@link http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.1.0/org/apache/lucene/util/BitUtil.java}
* Based on code from:
* <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.1.0/org/apache/lucene/util/BitUtil.java">apache.lucene.util.BitUtil.java</a>
*
* @author ryan.lamothe at gmail.com
* @author sedillard at gmail.com
......@@ -51,9 +51,8 @@ public class CorrMatrixHost {
* The first term-document matrix
* @param matrixB
* The second term-document matrix
* @param Aparapi EXECUTION_MODE
* @param executionMode EXECUTION_MODE
* @return result Matrix
* @throws Exception
*/
public static int[][] intersectionMatrix(final long[][] matrixA, final long[][] matrixB, final EXECUTION_MODE executionMode) {
......
......@@ -27,10 +27,10 @@ import com.aparapi.Kernel;
/**
* This kernel attempts to re-implement the Lucene OpenBitSet functionality on a GPU
*
* Based on code from: <br/>
* {@link http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.1.0/org/apache/lucene/util/BitUtil.java}
*
*
* Based on code from:
* <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.1.0/org/apache/lucene/util/BitUtil.java">apache.lucene.util.BitUtil.java</a>
*
* @author ryan.lamothe at gmail.com
* @author sedillard at gmail.com
*/
......@@ -50,6 +50,13 @@ public class CorrMatrixKernel extends Kernel {
/**
* Default constructor
*
* @param matrixA Matrix A.
* @param matrixB Matrix B.
* @param matrixA_NumTerms Number of terms in Matrix A.
* @param matrixB_NumTerms Number of terms in Matrix B.
* @param numLongs Number of longs.
* @param resultMatrix The matrix to store the results in.
*/
public CorrMatrixKernel(final long[] matrixA, final int matrixA_NumTerms, final long[] matrixB, final int matrixB_NumTerms,
final int numLongs, final int[] resultMatrix) {
......@@ -78,6 +85,12 @@ public class CorrMatrixKernel extends Kernel {
/**
* A naive implementation of the pop_array code below
*
* @param matrixA Matrix A.
* @param matrixB Matrix B.
* @param aStart Offset for Matrix A.
* @param bStart Offset for Matrix B.
* @param numWords The number of words to operate on.
*/
private int naive_pop_intersect(final long matrixA[], final int aStart, final long matrixB[], final int bStart, final int numWords) {
int sum = 0;
......@@ -92,8 +105,14 @@ public class CorrMatrixKernel extends Kernel {
/**
* Returns the popcount or cardinality of the two sets after an intersection.
* Neither array is modified.
*
*
* Modified for the purposes of this kernel from its original version
*
* @param matrixA Matrix A.
* @param matrixB Matrix B.
* @param aStart Offset for Matrix A.
* @param bStart Offset for Matrix B.
* @param numWords The number of words to operate on.
*/
private int pop_intersect(final long matrixA[], final int aStart, final long matrixB[], final int bStart, final int numWords) {
......@@ -242,6 +261,8 @@ public class CorrMatrixKernel extends Kernel {
/**
* Returns the number of bits set in the long
*
* @param x The long whose bit count is needed.
*/
private int pop(long x) {
......@@ -252,7 +273,7 @@ public class CorrMatrixKernel extends Kernel {
/*
* Hacker's Delight 32 bit pop function:
* http://www.hackersdelight.org/HDcode/newCode/pop_arrayHS.c.txt
*
*
* int pop(unsigned x) {
* x = x - ((x >> 1) & 0x55555555);
* x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
......
......@@ -50,6 +50,8 @@ import java.util.Random;
public class Main {
/**
* NumTerms and NumLongs (documents) need to be adjusted manually right now to force 'striping' to occur (see Host code for details)
*
* @param _args The command-line arguments.
*/
public static void main(String[] _args) {
final List<Pair<OpenBitSet, OpenBitSet>> obsPairs = new ArrayList<Pair<OpenBitSet, OpenBitSet>>();
......@@ -59,9 +61,9 @@ public class Main {
int[][] obsResultMatrix;
/*
* Populate test data
*/
/*
* Populate test data
*/
System.out.println("----------");
System.out.println("Populating test matrix data using settings from build.xml...");
System.out.println("----------");
......@@ -79,9 +81,9 @@ public class Main {
obsPairs.add(i, new ImmutablePair<OpenBitSet, OpenBitSet>(new OpenBitSet(bits, numLongs), new OpenBitSet(bits, numLongs)));
}
/*
* OpenBitSet calculations
*/
/*
* OpenBitSet calculations
*/
System.out.println("Executing OpenBitSet intersectionCount");
final long startTime = System.currentTimeMillis();
......@@ -107,9 +109,9 @@ public class Main {
System.out.println("OpenBitSet Gross Execution Time: " + endTime + " ms <------OpenBitSet");
System.out.println("----------");
/*
* GPU calculations
*/
/*
* GPU calculations
*/
System.out.println("Executing Aparapi intersectionCount");
final long[][] matrixA = new long[obsPairs.size()][];
......@@ -137,7 +139,7 @@ public class Main {
for (int j = 0; j < obsResultMatrix[i].length; j++)
if (obsResultMatrix[i][j] != gpuResultMatrix[i][j]) {
System.out.println("[" + i + "][" + j + "] -> " + obsResultMatrix[i][j] + " : " + gpuResultMatrix[i][j]);
}
}
}
System.out.println("Any elements not listed matched!");
}
......
......@@ -29,7 +29,7 @@ import com.aparapi.*;
/**
* Provides support for pixel windows of size no greater than 49 (e.g. 7x7).
* <p/>
*
* <p>Demonstrates use of __private array for (partial) sorting, also demonstrates @NoCl annotation for specialised use of ThreadLocal in JTP execution.
*/
public class MedianKernel7x7 extends Kernel {
......@@ -155,6 +155,8 @@ public class MedianKernel7x7 extends Kernel {
* Title: Algorithms + data structures = programs
* Publisher: Englewood Cliffs: Prentice-Hall, 1976
* </pre>
*
* @param actualPixelCount The actual pixel count.
*/
protected final int median(int actualPixelCount) {
int i, j, L, m;
......
......@@ -98,16 +98,16 @@ import com.jogamp.opengl.util.texture.TextureIO;
/**
* NBody implementing demonstrating Aparapi kernels.
*
* For a description of the NBody problem.
*
* @see http://en.wikipedia.org/wiki/N-body_problem
*
* We use JOGL to render the bodies.
* @see http://jogamp.org/jogl/www/
*
*
* For a description of the NBody problem, see
* <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* We use JOGL to render the bodies. <a href="http://jogamp.org/jogl/www/">JOGL</a>
*
* @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
* @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* @author gfrost
*
*/
public class Main{
......@@ -127,7 +127,7 @@ public class Main{
/**
* Constructor initializes xyz and vxyz arrays.
*
* @param _bodies
* @param _range The execution range provided.
*/
public NBodyKernel(Range _range) {
range = _range;
......@@ -197,7 +197,7 @@ public class Main{
/**
* Render all particles to the OpenGL context
*
* @param gl
* @param gl The OpenGL context to render to.
*/
protected void render(GL2 gl) {
......
......@@ -98,16 +98,16 @@ import com.jogamp.opengl.util.texture.TextureIO;
/**
* NBody implemented sequentially
*
* For a description of the NBody problem.
*
* @see http://en.wikipedia.org/wiki/N-body_problem
*
* We use JOGL to render the bodies.
* @see http://jogamp.org/jogl/www/
*
*
* For a description of the NBody problem, see
* <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* We use JOGL to render the bodies. <a href="http://jogamp.org/jogl/www/">JOGL</a>
*
* @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
* @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* @author gfrost
*
*/
public class Seq{
......@@ -127,7 +127,7 @@ public class Seq{
/**
* Constructor initializes xyz and vxyz arrays.
*
* @param _bodies
* @param _bodies The number of bodies to be simulated.
*/
public NBodyKernel(int _bodies) {
bodies = _bodies;
......@@ -196,7 +196,7 @@ public class Seq{
/**
* Render all particles to the OpenGL context
*
* @param gl
* @param gl The OpenGL context to render to.
*/
protected void render(GL2 gl) {
......
......@@ -95,16 +95,16 @@ import com.jogamp.opengl.util.texture.TextureIO;
/**
* NBody implementing demonstrating Aparapi kernels.
*
* For a description of the NBody problem.
*
* @see http://en.wikipedia.org/wiki/N-body_problem
*
* We use JOGL to render the bodies.
* @see http://jogamp.org/jogl/www/
*
*
* For a description of the NBody problem, see
* <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* We use JOGL to render the bodies. <a href="http://jogamp.org/jogl/www/">JOGL</a>
*
* @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
* @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
*
* @author gfrost
*
*/
public class Main{
......@@ -121,7 +121,7 @@ public class Main{
/**
* Constructor initializes xyz and vxyz arrays.
*
* @param _bodies
* @param _range The execution range provided.
*/
public NBodyKernel(Range _range) {
range = _range;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment