Commit Graph

239 Commits

Author SHA1 Message Date
Pedro Martinez Mediano f4ef357a84 Multiple improvements to increase portability of GPU build system.
- Checks CUDA and nvcc are available, otherwise exit nicely.
- Automatically looks for JNI header files.
- Automatically checks GPU-specific compute capability flags.
2017-05-30 01:24:43 +10:00
Pedro Martinez Mediano 180e5cbf45 Minor rearrangements in digamma functions. 2017-05-29 09:20:29 +10:00
Pedro Martinez Mediano 727a76fe94 Renamed cudaSumDigammas function. 2017-05-29 09:18:00 +10:00
Pedro Martinez Mediano 7eb91957ce Remove old comments. 2017-05-29 09:11:08 +10:00
Pedro Martinez Mediano 4b374de8c1 Added function to calculate and sum digammas fully on GPU to the main workflow. 2017-05-29 09:10:33 +10:00
Pedro Martinez Mediano 34c9ebd6ad Added CUB library of low-level CUDA primitives. 2017-05-28 02:40:56 +10:00
Pedro Martinez Mediano a5e3d18e6a Separated RS function in host and device sections. 2017-05-28 02:07:55 +10:00
Pedro Martinez Mediano fb01036127 Separated kNN function in host and device sections. 2017-05-28 01:55:55 +10:00
Pedro Martinez Mediano 0845420fdf Rearranged function order in gpuKnnBF_kernel. 2017-05-28 01:53:30 +10:00
Pedro Martinez Mediano 502289d666 Replaced manual absolute value calculation with CUDA Math API fabsf. 2017-05-27 04:23:03 +10:00
Pedro Martinez Mediano 0d296c854c Fix minor warnings. 2017-05-27 04:20:45 +10:00
Pedro Martinez Mediano d94a373ca8 Added warning flags to Makefile. 2017-05-27 04:20:11 +10:00
Pedro Martinez Mediano 1beb7a47fc "extern C" qualifiers now surround all gpuKnnLibrary as a whole, instead of in every function. 2017-05-26 04:58:18 +10:00
Pedro Martinez Mediano 36d821979d Renamed gpuKnnLibrary.cu to .c. Now .cu extension is reserved for files with kernels. 2017-05-26 04:55:13 +10:00
Pedro Martinez Mediano 56771c94b4 Minor change to timing tags in perftest. 2017-05-26 04:54:05 +10:00
Pedro Martinez Mediano 91b1235380 Added statistical unbiasedness tests for C permutation function. 2017-05-25 15:16:20 +10:00
Pedro Martinez Mediano d8779ee9f5 Added randperm to gpuMILibrary header so that it can be seen by other files. 2017-05-25 15:16:00 +10:00
Pedro Martinez Mediano 6af0e22030 Merge branch 'master' into gpu 2017-05-25 02:44:59 +10:00
Pedro Martinez Mediano a642c0a8c8 Fix prints in digamma timers. 2017-05-25 02:29:07 +10:00
Pedro Martinez Mediano 79859e0832 Add warm-up period to benchmarking script. 2017-05-25 02:15:21 +10:00
Pedro Martinez Mediano c8ceec9f71 Added more timers and unified format a bit. 2017-05-25 01:41:53 +10:00
Pedro Martinez Mediano cce345b0ed Removed comments and prints from perftest.cpp 2017-05-25 01:09:34 +10:00
Pedro Martinez Mediano 3fb9632439 Improved ctimer to align printf outputs. 2017-05-25 01:06:04 +10:00
Pedro Martinez Mediano 82c06abbeb Added C unit tests for GPU digamma reduction. 2017-05-25 00:20:52 +10:00
Pedro Martinez Mediano 715050d4e6 Added GPU chunk digamma reduction to main workflow. 2017-05-25 00:20:06 +10:00
Pedro Martinez Mediano 2d8d0271ca Added first version of GPU chunk digamma reduction function.
For now the calculation of the digammas is fully parallel but sums are
done in CPU.
2017-05-25 00:19:07 +10:00
Pedro Martinez Mediano afcfb61260 Added C unit test for GPU digamma calculation without reduction. 2017-05-24 23:28:41 +10:00
Pedro Martinez Mediano 20c019267c Added full C function for parallel digamma calculation without reduction. 2017-05-24 23:27:41 +10:00
Pedro Martinez Mediano ada9128389 Added kernel for gpu digamma calculation without reduction. 2017-05-24 23:26:33 +10:00
Pedro Martinez Mediano 7fe8bf47cc Added GPU digamma reduction to main workflow for single-chunk cases. 2017-05-24 22:19:36 +10:00
Pedro Martinez Mediano e39afcd5b4 Fixed bug related to manual casting in digamma reduction kernel. 2017-05-24 22:19:07 +10:00
Pedro Martinez Mediano 3a68e27af8 Fixed bugs in single-chunk digamma reduction GPU code. 2017-05-24 22:18:04 +10:00
Pedro Martinez Mediano 3dd4f6b224 Added C unit tests for single-chunk GPU digamma reduction. 2017-05-24 22:16:18 +10:00
Pedro Martinez Mediano 09548028e0 Merge remote-tracking branch 'ghub/master'. This merges Joe's v1.3.1 master into Pedro's master. 2017-05-24 20:24:32 +10:00
Pedro Martinez Mediano 3054461f7a Add note for potential further optimisation. 2017-05-24 19:45:01 +10:00
Pedro Martinez Mediano d17d8cad03 Add small utility script to profile parts of GPU code. 2017-05-24 19:20:54 +10:00
Pedro Martinez Mediano 8da0bfc17b Fixed bugs in pointset arrangement. Inefficient but functional. 2017-05-24 18:52:37 +10:00
Pedro Martinez Mediano 39a5cadf06 RS functions now receive pointers to source/dest within pointset.
This helps with surrogate calculation and is convenient for later memory
optimisation.
2017-05-24 18:04:11 +10:00
Pedro Martinez Mediano 4cb9a9bb16 Fixed bug with surrogate digamma calculation. 2017-05-24 18:02:38 +10:00
Pedro Martinez Mediano 3c0ae81505 Added timers to kraskovCuda.c. 2017-05-24 17:28:20 +10:00
Pedro Martinez Mediano 1b1f4f9922 Added timers to gpuMILibrary. 2017-05-24 17:23:50 +10:00
Pedro Martinez Mediano bb241ae415 Added timers to gpuKnnLibrary. 2017-05-24 17:13:26 +10:00
Pedro Martinez Mediano ff868bf79f Added gpuWarmUp function to shorten latency in first GPU call. 2017-05-24 17:02:52 +10:00
Pedro Martinez Mediano cced321abb Renamed unit test source file. 2017-05-24 17:01:16 +10:00
Pedro Martinez Mediano 169c35e990 Makefile revamped. See comments:
- Added CUSTOMFLAGS to define flags from Make CLI.
- Separated and re-arranged C object targets.
- Added targets for test binaries.
2017-05-24 16:57:42 +10:00
Pedro Martinez Mediano 7d9d7ad135 Added MI calculation script for benchmarking purposes. 2017-05-24 15:48:19 +10:00
Pedro Martinez Mediano 3a64f2b926 Added lightweight inline timer for C functions. 2017-05-24 15:46:55 +10:00
Pedro Martinez Mediano 492cfe8b53 Added Java+JNI support for surrogate reorderings. 2017-05-23 16:19:33 +10:00
Pedro Martinez Mediano 4a31d3d7f1 Added C unit tests for surrogate reorderings. 2017-05-23 16:19:09 +10:00
Pedro Martinez Mediano 0b66c3a3f8 Added C support for arbitrary reordering of surrogates. 2017-05-23 16:18:16 +10:00