Pedro Martinez Mediano
|
446ac4ae59
|
Merge branch 'master' into gpu
|
2017-11-21 14:58:15 +00:00 |
jlizier
|
0e27dbcbc2
|
Fixed default value of dynamic exclusion window in Kernel MI calculator to be 0. Technically it is zero (because dynCorrExcl boolean is set to false, but gets reported as 100 because the integer value of dynCorrExclTime was not set to 0 itself)
|
2017-09-02 20:18:36 +10:00 |
Pedro Martinez Mediano
|
ed71502bc2
|
Remove old cudaLibraryLoad code and unnecessary dependencies.
|
2017-08-31 16:22:12 +01:00 |
jlizier
|
b2e3ae1ca0
|
Added missing getProperty() method to Conditional TE calculator Kraskov
|
2017-08-23 00:19:09 +10:00 |
jlizier
|
0e40ec2401
|
Initialising conditional TE calculator to have one conditional dimension by default instead of none. Also fixing the way the conditional parameters are printed via getProperty() when they are null.
|
2017-08-23 00:18:41 +10:00 |
jlizier
|
4db008ce33
|
For Conditional MI calculators (sontinuous), adding setObservations and addObservations method signatures which take univariate arrays (only work if initialised dimensionalities are univariate) into the interface, and the common base class. This is in preparation for the CMI AutoAnalyser
|
2017-08-22 21:26:44 +10:00 |
jlizier
|
4d6fc1a572
|
Updated Kozachenko-Leonenko multivariate Entropy calculator to implement EntropyCalculator interface, in preparation for Entropy AutoAnalyser
|
2017-08-21 14:56:20 +10:00 |
jlizier
|
086bee5945
|
Making continuous MultiInfoCalculator classes implement the InfoMeasureCalculatorContinuous interface. For the interfaces, this means removing methods where duplicated. For implementing classes, this means adding the missing methods.
|
2017-08-18 23:42:43 +10:00 |
jlizier
|
057f17e338
|
Making continuous PredictiveInfoCalculator classes implement the InfoMeasureCalculatorContinuous interface. For the interfaces, this means removing methods where duplicated. And fixed the common implementing class to have the missing getProperty method.
|
2017-08-18 23:11:37 +10:00 |
jlizier
|
65c7cd99cc
|
Making continuous EntropyCalculator and EntropyCalculatorMultiVariate classes implement the InfoMeasureCalculatorContinuous interface. For the interfaces, this means removing methods where duplicated. Also added NUM_DIMENSIONS property to EntropyCalculatorMultiVariate interface, so that these calculators can have an initialise() method which takes no parameters. Fixed all implementing classes to have any methods that they were missing.
|
2017-08-18 20:18:29 +10:00 |
jlizier
|
d6bd16546b
|
Added new interface InfoMeasureCalculatorContinuous to capture common methods for continuous calculators. Also adapted most continuous calculators to implement this, which involved in many cases removing duplicate definitions of these methods in the interfaces for these measures. For ConditionalMI calculator, this meant we needed to add an implementation of the zero-argument initialise() call also. Still need to do MultiInfo, PredictiveInfo and Entropy in future, as they're missing a few methods.
|
2017-08-18 16:54:55 +10:00 |
jlizier
|
3e64fd28bd
|
Altering various continuous calculators to implement the EmpiricalNullDistributionComputer interface (where they're already implementing computeSignificance() etc.). Also altered the EmpiricalNullDistributionComputer methods to throw Exceptions, since the continuous calculators generally do this (and doesn't harm the discrete ones). Also involved implementing the methods in ConditionalMIMultiVariateCommon by selecting to permute the first variable by default.
|
2017-08-18 15:31:27 +10:00 |
jlizier
|
d77a9f274e
|
Added interface ChannelCalculator for MutualInfoCalculatorMultiVariate; this should have always been there but not all calculators implemented the univariate methods. It previously only implemented ChannelCalculatorMultiVariate. Added those methods into MutualInfoMultiVariateCommon, which provides the base implementation for all required calculators, so all are now taken care of. This means MI and TE can both be fully used in one interface with the set/addObservations methods.
|
2017-08-18 13:54:10 +10:00 |
jlizier
|
ea40f48bbc
|
Adding new methods computePValueForGivenEstimate() and computeEstimateForGivenPValue to AnalyticMeasurementDistribution and implementing in ChiSquareMeasurementDistribution. Involves importing (and refactoring) a significantly larger chunk of commons.maths3 classes (and updating existing ones to latest 3.6.1 version for consistency). Also addresses issue #23 in changing the actual value of the ChiSquareMeasurementDistribution to be that of the information theoretic measurement rather than 2*N times it (which was the value that is actually chi squared distributed), which also necessitates changes to the Discrete and Gaussian calculators computeSignificance() methods.
|
2017-06-14 11:09:01 +10:00 |
jlizier
|
a2b9939892
|
Merge branch 'master' of github.com:jlizier/jidt
to combine local changes with Pedro's GPU pull
|
2017-06-13 12:08:54 +10:00 |
jlizier
|
77f4c1afd5
|
Added partialNeighbourCountFromObservations() method for Leo's analytic work on neighbour counts
|
2017-06-13 12:04:41 +10:00 |
Pedro Martinez Mediano
|
d0b35b3db8
|
Added NativeUtils for native lib loading and included libKraskov.so in jar.
|
2017-06-01 20:34:23 +10:00 |
Pedro Martinez Mediano
|
834a3ec2c2
|
Relocated GPU code and modified build and load paths accordingly.
|
2017-06-01 17:22:42 +10:00 |
Pedro Martinez Mediano
|
2a203faa23
|
Added support for Theiler exclusion window in JNI code.
|
2017-05-31 04:19:49 +10:00 |
Pedro Martinez Mediano
|
bc44e4c2fb
|
Main workflow now operates using only device functions.
This saves time and energy by keeping all data in te GPU, rather than
transfering it back and forth all the time.
|
2017-05-31 02:38:44 +10:00 |
Pedro Martinez Mediano
|
85dd28d13b
|
Separated digamma and reduction into host and device functions.
|
2017-05-31 02:36:45 +10:00 |
Pedro Martinez Mediano
|
7a89dd7908
|
Modified handling of normFunction and replaced signallength with signalLength.
|
2017-05-31 02:35:11 +10:00 |
Pedro Martinez Mediano
|
6c25ea93ef
|
Added functions to allocate and free all the GPU memory at once.
|
2017-05-31 02:31:37 +10:00 |
Pedro Martinez Mediano
|
721c96c040
|
Added prototypes of device functions to gpuKnnLibrary header.
|
2017-05-30 23:00:17 +10:00 |
Pedro Martinez Mediano
|
c9d6a8a3bc
|
Now Makefile finds compute capabilities of all GPUs in the system.
|
2017-05-30 17:39:06 +10:00 |
Pedro Martinez Mediano
|
6645653ab3
|
Added unit tests for GPU digamma calculation and block reduction.
|
2017-05-30 01:37:43 +10:00 |
Pedro Martinez Mediano
|
75a03341b9
|
Separated digamma and reduction into host and device functions, now doing block reduction in device.
|
2017-05-30 01:36:56 +10:00 |
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 |