Commit 6e0d9c77 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Removed old tests for MIC - new ones are in src/UnitTests

parent 675e864d
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ ADD_SUBDIRECTORY( data )
ADD_SUBDIRECTORY( benchmarks )
#ADD_SUBDIRECTORY( unit-tests )
ADD_SUBDIRECTORY( long-time-unit-tests )
ADD_SUBDIRECTORY( mic )
ADD_SUBDIRECTORY( mpi )
ADD_SUBDIRECTORY( simple_examples )

tests/mic/CMakeLists.txt

deleted100644 → 0
+0 −9
Original line number Diff line number Diff line
    ADD_EXECUTABLE( tnlMICArrayTest${mpiExt} ${headers} tnlMICArrayTest.cpp )   
    TARGET_LINK_LIBRARIES( tnlMICArrayTest${mpiExt} ${CPPUNIT_LIBRARIES}
                                                           tnl${mpiExt} )
    TARGET_COMPILE_DEFINITIONS( tnlMICArrayTest${mpiExt} PUBLIC ${MIC_CXX_FLAGS} )

    ADD_EXECUTABLE( tnlMICVectorTest${mpiExt} ${headers} tnlMICVectorTest.cpp )   
    TARGET_LINK_LIBRARIES( tnlMICVectorTest${mpiExt} ${CPPUNIT_LIBRARIES}
                                                           tnl${mpiExt} )
    TARGET_COMPILE_DEFINITIONS( tnlMICVectorTest${mpiExt} PUBLIC ${MIC_CXX_FLAGS} )

tests/mic/tnlMICArrayTest.cpp

deleted100644 → 0
+0 −205
Original line number Diff line number Diff line
/***************************************************************************
                          tnlMICArrayTest.cpp  -  
                application testing Array implemntation on MIC KNC
                              by hanouvit 
                             -------------------
    copyright            : (C) 2004 by Tomas Oberhuber
    email                : tomas.oberhuber@fjfi.cvut.cz
 ***************************************************************************/

/* See Copyright Notice in tnl/Copyright */
 
#include <iostream>
#include <TNL/Devices/MIC.h>
#include <omp.h>
#include <TNL/Containers/Array.h>

	using namespace std;
	using namespace TNL;
	using namespace TNL::Containers;

//TUNE MACROS FOR YOUR FUNKY OUTPUT
#define TEST_VERBOSE

unsigned int errors=0;
unsigned int success=0;
#define TEST_TEST(a) if((a)){cout << __LINE__ <<":\t OK " <<endl;success++;}else{cout << __LINE__<<":\t FAIL" <<endl;errors++;}
#define TEST_RESULT cout<<"SUCCES: "<<success<<endl<<"ERRRORS: "<<errors<<endl;
inline void Test_Say( const char * message)
{
#ifdef TEST_VERBOSE
	cout << message <<endl;
#endif
}

using namespace std;


int main(void)
{
   std::cout << "Array on MIC test by hanouvit:" <<endl;
	
	#ifdef HAVE_ICPC
		cout << "ICPC in USE" <<endl;
	#endif

	#ifdef HAVE_MIC
		cout << "MIC in USE" <<endl; //LOL
	#endif
	
#ifdef HAVE_MIC
//prepare arrays with data
	
	Array<double,Devices::MIC,int> aa(10);
	Array<double,Devices::MIC,int> ee(6);
	Array<double,Devices::Host,int> cc(5);

//fill it 
Devices::MICHider<double> data_ptr;
data_ptr.pointer= aa.getData();	
int size=aa.getSize();
        
#pragma offload target(mic) in(data_ptr,size)
{
    for(int i=0;i<size;i++)
    {
            data_ptr.pointer[i]=i;
    }
}

for(int i=0;i<5;i++)
{
	cc[i]=10+i;
}

//prepare arrays for funky tests
Array<double,Devices::MIC,int> bb(10);
Array<double,Devices::MIC,int> dd(0);

//TEST IT!
Test_Say("aa.getSize():");
TEST_TEST(aa.getSize()==10);

Test_Say("Is aa filled correctly? (aa.getElement):");
for(int i=0;i<10;i++)
	TEST_TEST(aa.getElement(i)==i);

Test_Say("Copy to bb(MIC->MIC) (=):");
bb=aa;
TEST_TEST(aa.getSize()==bb.getSize());
for(int i=0;i<bb.getSize();i++)
	TEST_TEST(bb.getElement(i)==i);

Test_Say("setLike:");
bb.setLike(cc);
TEST_TEST(bb.getSize()==cc.getSize());
Test_Say("Copy (Host -> MIC) (=)");
bb=cc;
for(int i=0;i<bb.getSize();i++)
	TEST_TEST(bb.getElement(i)==i+10);

Test_Say("setValue:");
bb.setValue(5);
for(int i=0;i<bb.getSize();i++)
	TEST_TEST(bb.getElement(i)==5);

Test_Say("swap:");
aa.swap(bb);
TEST_TEST(aa.getSize()==5||bb.getSize()==10);
for(int i=0;i<aa.getSize();i++)
{
	TEST_TEST(aa.getElement(i)==5);
}
for(int i=0;i<bb.getSize();i++)
{
	TEST_TEST(bb.getElement(i)==i);
}

Test_Say("(MIC -> MIC) ==");
aa.setLike(bb);
aa=bb;
TEST_TEST(aa==bb);
TEST_TEST(!(aa!=bb));
TEST_TEST(aa!=ee);
bb.setElement(5,66);
TEST_TEST(aa!=bb);

Test_Say("(Host -> MIC) !=");
aa.setLike(cc);
aa=cc;
TEST_TEST(aa==cc);
aa.setElement(3,66);
TEST_TEST(aa!=cc);

Test_Say("bidn (light test)");
dd.bind(bb,5);
TEST_TEST(dd.getSize()==5);
TEST_TEST(dd.getElement(1)==6);

//Mylsím, že není zdaleka testováno vše...

///////////////////////////////////////////////////////////////////////////////

Test_Say("File Array Test: \n");

//prepare arrays with data

aa.setSize(10);
ee.setSize(6);
cc.setSize(5);

//fill it UP
/*Devices::MICHider<double> data_ptr;*/
data_ptr.pointer= aa.getData();	
//size=aa.getSize();

#pragma offload target(mic) in(data_ptr,size)
{
    for(int i=0;i<size;i++)
    {
            data_ptr.pointer[i]=i;
    }
}

for(int i=0;i<5;i++)
{
	cc[i]=10+i;
}

File soubor;
soubor.open("/tmp/tnlArrayExperimentSave_cc.bin",IOMode::write);
cc.save(soubor);
soubor.close();

soubor.open("/tmp/tnlArrayExperimentSave_aa.bin",IOMode::write);
aa.save(soubor);
soubor.close();

ee.bind(aa,5,5);
ee.boundLoad("/tmp/tnlArrayExperimentSave_cc.bin");

TEST_TEST( 10 == aa.getSize())
for(int i=0;i<5;i++)
{
	TEST_TEST(aa.getElement(i)==i)
}
for(int i=5;i<10;i++)
{
	TEST_TEST(aa.getElement(i)==i+5)
}

soubor.open("/tmp/tnlArrayExperimentSave_aa.bin",IOMode::read);
cc.load(soubor);
soubor.close();

TEST_TEST( 10 == cc.getSize())
for(int i=0;i<cc.getSize();i++)
{
	TEST_TEST(cc.getElement(i)==i)
}

#endif 

	TEST_RESULT;
    return 0;
}

tests/mic/tnlMICVectorTest.cpp

deleted100644 → 0
+0 −150
Original line number Diff line number Diff line
/***************************************************************************
                          tnlMICVectorTest.cpp  -  
                application testing Vector implemntation on MIC KNC
                              by hanouvit 
                             -------------------
    copyright            : (C) 2004 by Tomas Oberhuber
    email                : tomas.oberhuber@fjfi.cvut.cz
 ***************************************************************************/

/* See Copyright Notice in tnl/Copyright */

#include <iostream>
#include <omp.h>
#include <stdint.h>

#include <TNL/Devices/MIC.h>
#include <TNL/Containers/Vector.h>


using namespace std;
using namespace TNL;
using namespace TNL::Containers;

//TUNE MACROS FOR YOUR FUNKY OUTPUT
#define TEST_VERBOSE

unsigned int errors=0;
unsigned int success=0;
#define TEST_TEST(a) if((a)){cout << __LINE__ <<":\t OK" <<endl;success++;}else{cout << __LINE__<<":\t FAIL" <<endl;errors++;}
#define TEST_RESULT cout<<"SUCCES: "<<success<<endl<<"ERRRORS: "<<errors<<endl;
inline void Test_Say( const char * message)
{
#ifdef TEST_VERBOSE
	cout << message <<endl;
#endif
}

int main(void)
{
   std::cout << "Vector on MIC test by hanouvit:" <<endl;
	
    #ifdef HAVE_ICPC
           std::cout << "ICPC in USE" <<endl; 
    #endif

    #ifdef HAVE_MIC
           std::cout << "MIC in USE" <<endl;
    #endif

#ifdef HAVE_MIC
        Vector<double,Devices::MIC,int> aa(10);
        Vector<double,Devices::MIC,int> bb(10);
        Vector<double,Devices::MIC,int> cc(10);

        Vector<double,Devices::Host,int> aaa(10);
        Vector<double,Devices::Host,int> bbb(10);
        Vector<double,Devices::Host,int> ccc(10);

        for(int i=0;i<10;i++)
        {
            aa.setElement(i,i-5);
            aaa.setElement(i,i-5);
            bb.setElement(i,5-i);
            bbb.setElement(i,5-i);
            cc.setElement(i,10+i);
            ccc.setElement(i,10+i);
        }

        Test_Say("Is filled correctly?:");
        for(int i=0;i<10;i++)
        {
            TEST_TEST(aa.getElement(i)==aaa.getElement(i));
            TEST_TEST(bb.getElement(i)==bbb.getElement(i));
            TEST_TEST(cc.getElement(i)==ccc.getElement(i));
        }
        
        Test_Say("min():");
           TEST_TEST(bb.min()==bbb.min());        
        Test_Say("absMin():");
           TEST_TEST(bb.absMin()==bbb.absMin());
        Test_Say("max():");
           TEST_TEST(bb.max()==bbb.max());
        Test_Say("absMax():");
           TEST_TEST(bb.absMax()==bbb.absMax());
           
        Test_Say("lpNorm( N ):");
           TEST_TEST(aa.lpNorm(1)==aaa.lpNorm(1));
           TEST_TEST(aa.lpNorm(2)==aaa.lpNorm(2));
           TEST_TEST(aa.lpNorm(0.5)==aaa.lpNorm(0.5));
           TEST_TEST(aa.lpNorm(3)==aaa.lpNorm(3));
        Test_Say("sum():");
           TEST_TEST(aa.sum()==aaa.sum());

        Test_Say("differenceMax():");
           TEST_TEST(aa.differenceMax(bb)==aaa.differenceMax(bbb));
        Test_Say("differenceMin():");
           TEST_TEST(aa.differenceMin(bb)==aaa.differenceMin(bbb));
        Test_Say("differenceAbsMax():");
           TEST_TEST(aa.differenceAbsMax(bb)==aaa.differenceAbsMax(bbb));
        Test_Say("differenceAbsMin():");
           TEST_TEST(aa.differenceAbsMin(bb)==aaa.differenceAbsMin(bbb));
        Test_Say("differenceSum():");
           TEST_TEST(aa.differenceSum(bb)==aaa.differenceSum(bbb));
           
        ////
        Test_Say("differenceLpNorm( N ):");
           TEST_TEST(aa.differenceLpNorm(bb,1)==aaa.differenceLpNorm(bbb,1));
           TEST_TEST(aa.differenceLpNorm(bb,2)==aaa.differenceLpNorm(bbb,2));
           TEST_TEST(aa.differenceLpNorm(bb,0.5)==aaa.differenceLpNorm(bbb,0.5));
           TEST_TEST(aa.differenceLpNorm(bb,3)==aaa.differenceLpNorm(bbb,3));
        
        ////
        Test_Say("== :");
            TEST_TEST(aa==aaa);
        Test_Say("vct*0.5 :");
        aa*=0.5;
        aaa*=0.5;
            TEST_TEST(aa==aaa);
        
        Test_Say("scalarProduct :");
            TEST_TEST(aa.scalarProduct(bb) == aaa.scalarProduct(bbb));

        Test_Say("addVector :");
        aa.addVector(bb,2.0,3.0);
        aaa.addVector(bbb,2.0,3.0);
            TEST_TEST(aa==aaa);            
        aa.addVectors(bb,2.0,cc,1.0,-3.0);
        aaa.addVectors(bbb,2.0,ccc,1.0,-3.0);
            TEST_TEST(aa==aaa); 
            
        Test_Say("computeExclusivePrefixSum :");    
        aa.computeExclusivePrefixSum();
        aaa.computeExclusivePrefixSum();
            TEST_TEST(aa==aaa);             
        bb.computeExclusivePrefixSum(2,4);
        bbb.computeExclusivePrefixSum(2,4);
            TEST_TEST(bb==bbb); 
            
        Test_Say("computePrefixSum :");    
        cc.computePrefixSum();
        ccc.computePrefixSum();
            TEST_TEST(cc==ccc); 
        cc.computePrefixSum(2,4);
        ccc.computePrefixSum(2,4);
            TEST_TEST(cc==ccc); 	
#endif
	TEST_RESULT;	
		
    return 0;
}