Created by: wanghaoshuang
在当前单测实现逻辑中,RUN_ALL_TESTS()
前需要初始化所有device,这与"初始化部分devices"的单测有所冲突,所以这个pr没有对void InitDevices(bool init_p2p, const std::vector<int> devices)
进行单测。
在线下,通过注释掉这句,通过了以下单测:
TEST(InitDevices, single_CUDA) {
using paddle::framework::Init;
using paddle::platform::DeviceContextPool;
#ifdef PADDLE_WITH_CUDA
int count = paddle::platform::GetCUDADeviceCount();
std::vector<char*> argvs;
argvs.push_back(strdup("--devices=0,1"));
int argc = static_cast<int>(argvs.size());
char** argv = argvs.data();
Init(&argc, &argv);
DeviceContextPool& pool = DeviceContextPool::Instance();
ASSERT_EQ(pool.size(), 3U);
#endif
}