diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/ t-moGPUTimer.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/ t-moGPUTimer.cu index 481ea3ad3..4f1e01564 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/ t-moGPUTimer.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/ t-moGPUTimer.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/moGPUTestClass.h b/branches/ParadisEO-GPU/paradiseo-gpu/test/moGPUTestClass.h index 61022af30..d1744e62a 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/moGPUTestClass.h +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/moGPUTestClass.h @@ -1,8 +1,8 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 - Sébastien Verel, Arnaud Liefooghe, Jérémie Humeau + Karima Boufaras, Thé van Luong This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitNeighbor.cu index f2539728d..26c2eef1e 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitNeighbor.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitNeighbor.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -90,7 +90,7 @@ int main() { assert(test1.className()=="moGPUBitNeighbor"); - std::cout << "[t-moCudaBitNeighbor] => OK" << std::endl; + std::cout << "[t-moGPUBitNeighbor] => OK" << std::endl; return EXIT_SUCCESS; } \ No newline at end of file diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitVector.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitVector.cu index 339a2b636..935b93bf4 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitVector.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUBitVector.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include typedef moGPUBitVector Solution; @@ -47,7 +47,7 @@ int main() { std::cout << "[t-moGPUBitVector] => START" << std::endl; - EvalOneMax eval; + moGPUEvalOneMax eval; //test default constructor Solution _sol; @@ -75,7 +75,7 @@ int main() { assert(sol.fitness()==sum); //test size getter - assert(_sol.size()==0); + assert(_sol.size()==5); assert(sol1.size()==5); //test size setter diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUEvalOneMax.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUEvalOneMax.cu index 0742d2496..d888add46 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUEvalOneMax.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUEvalOneMax.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -47,7 +47,7 @@ int main() { Solution sol(5); - moGPuEvalOneMax eval; + moGPUEvalOneMax eval; int sum=0; eval(sol); diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUIntVector.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUIntVector.cu index 36e294b18..b2df6f2a8 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUIntVector.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUIntVector.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -54,10 +54,10 @@ int main() { Solution sol2(3); //test copy constructor - sol1.fitness(500); + sol1.fitness(50); Solution sol(sol1); assert(sol.size()==5); - assert(sol.fitness()==500); + assert(sol.fitness()==50); for(int i=0;i<5;i++) assert(sol[i]==sol1[i]); @@ -82,10 +82,10 @@ int main() { } //test assignement operator - sol2.fitness(200); + sol2.fitness(20); sol1=sol2; assert(sol1.size()==3); - assert(sol1.fitness()==200); + assert(sol1.fitness()==20); for(int i=0;i<3;i++) assert(sol1[i]==sol2[i]); diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUMemory.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUMemory.cu index 56f3a57e6..8abdbc69d 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUMemory.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUMemory.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUNeighborhoodSizeUtils.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUNeighborhoodSizeUtils.cu index 27c97bfc6..4d9e9367a 100755 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUNeighborhoodSizeUtils.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUNeighborhoodSizeUtils.cu @@ -1,8 +1,8 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 - Boufaras Karima, Thé Van Luong + Karima Boufaras, Thé Van Luong This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can ue, diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUObject.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUObject.cu index 0da88a098..4e39362e4 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUObject.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUObject.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -41,10 +41,14 @@ __device__ int * dev_data; //kernel to launch to test GPU global variable + __global__ void testKernel(int * _data,unsigned _size){ + // The thread identifier within a grid block's int id = blockIdx.x * blockDim.x + threadIdx.x; + if(id<_size) + _data[id]=2*dev_data[id]; } diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUOneMaxIncrEval.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUOneMaxIncrEval.cu index 27bc9c72e..39011b5b7 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUOneMaxIncrEval.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUOneMaxIncrEval.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -37,9 +37,10 @@ #include #include #include -#include -#include +#include +#include +#define NB_POS 1 typedef moGPUBitVector Solution; typedef moGPUBitNeighbor Neighbor; @@ -47,12 +48,12 @@ typedef moGPUBitNeighbor Neighbor; int main() { - std::cout << "[t-OneMaxIncrEval] => START" << std::endl; + std::cout << "[t-moGPUOneMaxIncrEval] => START" << std::endl; Solution sol(5); - EvalOneMax eval; - OneMaxIncrEval incr_eval; + moGPUEvalOneMax eval; + moGPUOneMaxIncrEval incr_eval; int sum=0; int fitness=0; @@ -66,18 +67,17 @@ int main() { eval(sol); assert((int)(sol.fitness())==0); - + sol[0]=1; fitness=incr_eval(sol,fitness,0); - sol[0]=1; - eval(sol); + assert((int)(fitness)==1); assert((int)(sol.fitness())==1); - fitness=incr_eval(sol,fitness,0); - sol[0]=0; - eval(sol); - assert((int)(sol.fitness())==0); + sol[2]=1; + fitness=incr_eval(sol,fitness,2); + assert((int)(fitness)==2); + assert((int)(sol.fitness())==2); - std::cout << "[t-OneMaxIncrEval] => OK" << std::endl; + std::cout << "[t-moGPUOneMaxIncrEval] => OK" << std::endl; return EXIT_SUCCESS; } diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUPermutationVector.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUPermutationVector.cu index 0d667f4d9..772003176 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUPermutationVector.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUPermutationVector.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -54,19 +54,18 @@ int main() { Solution sol2(3); //test copy constructor - sol1.fitness(200); + sol1.fitness(20); Solution sol(sol1); assert(sol.size()==5); - assert(sol.fitness()==200); + assert(sol.fitness()==20); for(int i=0;i<5;i++) assert(sol[i]==sol1[i]); - //test discret vector (create) & getter + //test discret vector create & getter for(int i=0;i<5;i++) assert((sol1[i]>=0)||(sol1[i]<5)); //test size getter - assert(_sol.size()==0); assert(sol1.size()==5); assert(sol2.size()==3); @@ -78,12 +77,12 @@ int main() { //test discret vector for(int i=0;i<3;i++) assert((sol2[i]>=0)||(sol2[i]<3)); - sol2.fitness(300); + sol2.fitness(30); //test assignement operator sol1=sol2; assert(sol1.size()==3); - assert(sol1.fitness()==300); + assert(sol1.fitness()==30); for(int i=0;i<3;i++) assert(sol1[i]==sol2[i]); diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPURealVector.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPURealVector.cu index f282d4762..d2b3099d0 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPURealVector.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPURealVector.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -55,18 +55,19 @@ int main() { Solution sol2(3); //test copy constructor - sol1.fitness(100); + sol1.fitness(10); Solution sol(sol1); assert(sol.size()==5); - assert(sol.fitness()==100); + assert(sol.fitness()==10); for(int i=0;i<5;i++) assert(sol[i]==sol1[i]); //test Real vector (create)& getter - float tmp; - for(int i=0;i<5;i++){ - tmp=1/sol1[i]; - assert(abs(tmp)>0); + int tmp,tmp1; + tmp=(1/(sol1[0]+1))*10; + tmp1=(int)(1/(sol1[0]+)); + + assert(tmp1>tmp); } //test size getter @@ -80,10 +81,10 @@ int main() { assert(sol[i]==sol1[i]); //test assignement operator - sol2.fitness(200); + sol2.fitness(20); sol1=sol2; assert(sol1.size()==3); - assert(sol1.fitness()==200); + assert(sol1.fitness()==20); for(int i=0;i<3;i++) assert(sol1[i]==sol2[i]); diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXBitFlippingNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXBitFlippingNeighbor.cu index 70db31e2f..0a28f7d6d 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXBitFlippingNeighbor.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXBitFlippingNeighbor.cu @@ -1,6 +1,6 @@ /* - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighbor.cu index 09fdecac6..7b675c865 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighbor.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighbor.cu @@ -1,8 +1,8 @@ /* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 - Boufaras Karima, Thé Van Luong + Karima Boufaras, Thé Van Luong This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can ue, diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighborhood.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighborhood.cu index d9f0b7610..036c35589 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighborhood.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXChangeNeighborhood.cu @@ -1,6 +1,6 @@ /* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -36,18 +36,18 @@ #include #include #include -#include -#include +#include +#include #include #include typedef eoInt Solution; -typedef moXSwapNeighbor Neighbor; -typedef moXChangeNeighborhood Neighborhood; +typedef moGPUXSwapN Neighbor; +typedef moGPUXChange Neighborhood; int main() { - std::cout << "[t-moGPUXChangeNeighborhood] => START" << std::endl; + std::cout << "[t-moGPUXChange] => START" << std::endl; //test factorial assert(factorial(10) == 3628800); @@ -171,7 +171,7 @@ int main() { delete[] (second); delete[] (third); delete[] (forth); - std::cout << "[t-moGPUXChangeNeighborhood] => OK" << std::endl; + std::cout << "[t-moGPUXChange] => OK" << std::endl; return EXIT_SUCCESS; } diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXSwapNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXSwapNeighbor.cu index eb118e42a..232e59780 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXSwapNeighbor.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moGPUXSwapNeighbor.cu @@ -1,6 +1,6 @@ /* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXBitFlippingNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXBitFlippingNeighbor.cu index d0d4f30c7..cc5a2a3bc 100644 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXBitFlippingNeighbor.cu +++ b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXBitFlippingNeighbor.cu @@ -1,6 +1,6 @@ /* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 + + Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2012 Karima Boufaras, Thé Van LUONG @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include #include diff --git a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXSwapNeighbor.cu b/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXSwapNeighbor.cu deleted file mode 100644 index a332a1d5d..000000000 --- a/branches/ParadisEO-GPU/paradiseo-gpu/test/t-moXSwapNeighbor.cu +++ /dev/null @@ -1,120 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Lille - Nord Europe, 2006-2010 - - Karima Boufaras, Thé Van LUONG - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - */ - -#include -#include -#include -#include -#include -#include - -typedef eoInt Solution; -typedef moGPUXSwapNeighbor Neighbor; - -int main() { - - std::cout << "[t-moGPUXSwapNeighbor] => START" << std::endl; - - Solution sol1(5); - for (int i = 4; i >=0; i--) - sol1[4-i] = i; - - //test constructor - Neighbor neighbor(2); - assert(neighbor.index() == 0); - assert(neighbor.getXChange() == 2); - - //test setter of one index - for (unsigned int i = 0; i < neighbor.getXChange(); i++) - neighbor.setIndice(i, i); - - //test getter of one index - for (unsigned int i = 0; i < neighbor.getXChange(); i++) - assert(neighbor.getIndice(i) == i); - - //test move - neighbor.move(sol1); - assert(sol1[neighbor.getIndice(0)] == 3); - assert(sol1[neighbor.getIndice(1)] == 4); - - //test moveBack - neighbor.moveBack(sol1); - assert(sol1[neighbor.getIndice(0)] == 4); - assert(sol1[neighbor.getIndice(1)] == 3); - - //test set & get indice - neighbor.setIndice(0, 1); - neighbor.setIndice(1, 2); - assert(neighbor.getIndice(0) == 1); - assert(neighbor.getIndice(1) == 2); - - //test move - neighbor.move(sol1); - assert(sol1[neighbor.getIndice(0)] == 2); - assert(sol1[neighbor.getIndice(1)] == 3); - - //test move back - neighbor.moveBack(sol1); - assert(sol1[neighbor.getIndice(0)] == 3); - assert(sol1[neighbor.getIndice(1)] == 2); - - Neighbor neighbor2(3); - - //test setter of one index - neighbor2.setIndice(0, 0); - neighbor2.setIndice(1, 1); - neighbor2.setIndice(2, 2); - - //test getter of one index - assert(neighbor2.getIndice(0) == 0); - assert(neighbor2.getIndice(1) == 1); - assert(neighbor2.getIndice(2) == 2); - - //test move - neighbor2.move(sol1); - assert(sol1[neighbor2.getIndice(0)] == 3); - assert(sol1[neighbor2.getIndice(1)] == 2); - assert(sol1[neighbor2.getIndice(2)] == 4); - - //test moveBack - neighbor2.moveBack(sol1); - assert(sol1[neighbor2.getIndice(0)] == 4); - assert(sol1[neighbor2.getIndice(1)] == 3); - assert(sol1[neighbor2.getIndice(2)] == 2); - - std::cout << "[t-moGPUXSwapNeighbor] => OK" << std::endl; - - return EXIT_SUCCESS; -} -