From 49082763337f47cc1db5cb6290925659e8b6d627 Mon Sep 17 00:00:00 2001 From: Pedro Martinez Mediano Date: Sun, 25 Nov 2018 19:45:48 +0200 Subject: [PATCH] GPU tests and example now compute multiple surrogates. --- demos/java/infodynamics/demos/Example10GPUBenchmark.java | 3 ++- .../measures/continuous/kraskov/GPUPerformanceTester.java | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/demos/java/infodynamics/demos/Example10GPUBenchmark.java b/demos/java/infodynamics/demos/Example10GPUBenchmark.java index d3d5269..d3d0a44 100755 --- a/demos/java/infodynamics/demos/Example10GPUBenchmark.java +++ b/demos/java/infodynamics/demos/Example10GPUBenchmark.java @@ -67,9 +67,10 @@ public class Example10GPUBenchmark { miCalc.setProperty("k", "4"); miCalc.initialise(src[0].length, tgt[0].length); miCalc.setObservations(src, tgt); + int nb_surrogates = 150; double[] timeAndValue = new double[2]; long startTime = System.nanoTime(); - timeAndValue[1] = miCalc.computeAverageLocalOfObservations(); + timeAndValue[1] = miCalc.computeSignificance(nb_surrogates).actualValue; timeAndValue[0] = (System.nanoTime() - startTime)/1000000.0; return timeAndValue; } diff --git a/java/unittests/infodynamics/measures/continuous/kraskov/GPUPerformanceTester.java b/java/unittests/infodynamics/measures/continuous/kraskov/GPUPerformanceTester.java index 6be9705..8436052 100644 --- a/java/unittests/infodynamics/measures/continuous/kraskov/GPUPerformanceTester.java +++ b/java/unittests/infodynamics/measures/continuous/kraskov/GPUPerformanceTester.java @@ -86,14 +86,14 @@ public class GPUPerformanceTester extends TestCase { startTime = Calendar.getInstance().getTimeInMillis(); miCalc.initialise(1,1); miCalc.setObservations(source, dest); - cpu_val = miCalc.computeSignificance(nb_surrogates).getMeanOfDistribution(); + cpu_val = miCalc.computeSignificance(nb_surrogates).actualValue; cpu_duration = Calendar.getInstance().getTimeInMillis() - startTime; miCalc.setProperty("USE_GPU", "true"); miCalc.initialise(1,1); startTime = Calendar.getInstance().getTimeInMillis(); miCalc.setObservations(source, dest); - gpu_val = miCalc.computeSignificance(nb_surrogates).getMeanOfDistribution(); + gpu_val = miCalc.computeSignificance(nb_surrogates).actualValue; gpu_duration = Calendar.getInstance().getTimeInMillis() - startTime; assertEquals(cpu_val, gpu_val, 0.0001); @@ -124,12 +124,12 @@ public class GPUPerformanceTester extends TestCase { return; } - int timeSteps = 10000; + int timeSteps = 1000; RandomGenerator rg = new RandomGenerator(); double[] source = rg.generateNormalData(timeSteps, 0, 1); double[] dest = rg.generateNormalData(timeSteps, 0, 1); - compareGPUPerformance(source, dest, "Random low-dimensional data"); + compareGPUPerformanceSurrogates(source, dest, 150, "Random low-dimensional data"); return; }