diff --git a/branches/ParadisEO-GPU/tutoriel/OneMax/testSimpleHCByCpy.cu b/branches/ParadisEO-GPU/tutoriel/OneMax/testSimpleHCByCpy.cu index e088007d9..de8c3c930 100644 --- a/branches/ParadisEO-GPU/tutoriel/OneMax/testSimpleHCByCpy.cu +++ b/branches/ParadisEO-GPU/tutoriel/OneMax/testSimpleHCByCpy.cu @@ -1,5 +1,5 @@ /* - + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 Karima Boufaras, Thé Van LUONG @@ -42,16 +42,17 @@ using namespace std; // The general include for eo #include #include -// OneMax full eval function +// One Max full eval function #include -// OneMax increment eval function +//Parallel evaluation of neighborhood on GPU #include +// One Max increment evaluation function #include // One Max solution #include -// One Max neighbor +// Bit neighbor #include -// One Max ordered neighborhood +// Ordered neighborhood #include // The Solution and neighbor comparator #include @@ -70,7 +71,7 @@ using namespace std; //------------------------------------------------------------------------------------ // Define types of the representation solution, different neighbors and neighborhoods //------------------------------------------------------------------------------------ -// REPRESENTATION + typedef moGPUBitVector solution; typedef moGPUBitNeighbor Neighbor; typedef moGPUOrderNeighborhoodByCpy Neighborhood; @@ -95,16 +96,6 @@ void main_function(int argc, char **argv) parser.processParam( seedParam ); unsigned seed = seedParam.value(); - // description of genotype - eoValueParam vecSizeParam(1, "vecSize", "Genotype size", 'V'); - parser.processParam( vecSizeParam, "Representation" ); - unsigned vecSize = vecSizeParam.value(); - - //Number of position to change - eoValueParam nbPosParam(1, "nbPos", "X Change", 'N'); - parser.processParam( nbPosParam, "Exchange" ); - unsigned nbPos = nbPosParam.value(); - // the name of the "status" file where all actual parameter values will be saved string str_status = parser.ProgramName() + ".status"; // default value eoValueParam statusParam(str_status.c_str(), "status", "Status file"); @@ -131,7 +122,6 @@ void main_function(int argc, char **argv) // you'll aways get the same result, NOT a random run rng.reseed(seed); srand(seed); - /* ========================================================= * @@ -139,7 +129,7 @@ void main_function(int argc, char **argv) * * ========================================================= */ - solution sol(vecSize); + solution sol(SIZE); /* ========================================================= * @@ -156,7 +146,7 @@ void main_function(int argc, char **argv) * ========================================================= */ OneMaxIncrEval incr_eval; - moGPUEvalByCpy > cueval(vecSize,incr_eval); + moGPUEvalByCpy > gpuEval(SIZE,incr_eval); /* ========================================================= * @@ -173,7 +163,7 @@ void main_function(int argc, char **argv) * * ========================================================= */ - Neighborhood neighborhood(vecSize,cueval); + Neighborhood neighborhood(SIZE,gpuEval); /* ========================================================= * @@ -181,7 +171,7 @@ void main_function(int argc, char **argv) * * ========================================================= */ - moSimpleHCexplorer explorer(neighborhood, cueval, + moSimpleHCexplorer explorer(neighborhood, gpuEval, comparator, solComparator); /* ========================================================= @@ -201,7 +191,7 @@ void main_function(int argc, char **argv) * * ========================================================= */ - moSimpleHC simpleHC(neighborhood,eval,cueval); + moSimpleHC simpleHC(neighborhood,eval,gpuEval); /* ========================================================= * @@ -213,12 +203,13 @@ void main_function(int argc, char **argv) eval(sol); std::cout << "initial: " << sol<< std::endl; - // Create timer for timing CUDA calculation + // Create timer for timing GPU calculation moGPUTimer timer; timer.start(); + //Run the local search with Simple Hill climbing explorer localSearch(sol); timer.stop(); - printf("CUDA execution time = %f ms\n",timer.getTime()); + printf("GPU execution time = %f ms\n",timer.getTime()); timer.deleteTimer(); std::cout << "final: " << sol << std::endl; @@ -228,16 +219,16 @@ void main_function(int argc, char **argv) * * ========================================================= */ cout<