Created by: hedaoyuan
Making it easier to write unittest for comparing gpu and cpu version of a function. For a detailed description, see issue #385 (closed) 这个PR部分解决issue #385的问题(详细描述见issue),对test_matrixCompare.cpp里面的test case进行了重构,一部分放到了test_Matrix.cpp里面,一部分放到了test_BaseMatrix.cpp里面,其他的test case另外再起issue和pr解决。
该PR新增一个autotest::AutoCompare
,使用AutoCompare对一个成员函数进行CPU/GPU实现的对比,主要步骤如下:
- 构造一个AutoCompare对象,AutoCompare对象里面会包含一个CpuMatrix和一个GpuMatrix对象;
- 初始化成员函数所需的参数(只需要初始化CPU部分的参数)
- 通过cmpWithArg模板函数对成员函数进行CPU和GPU实现的测试。
AutoCompare test(...);
Init Argument arg1,arg2...
test.cmpWithArg(function, arg1, arg2....)