| 134 | }; |
| 135 | |
| 136 | TEST_F(TestCudaDevice, Basics) { |
| 137 | ASSERT_FALSE(device_->is_cpu()); |
| 138 | ASSERT_TRUE(IsCudaDevice(*device_)); |
| 139 | ASSERT_EQ(device_->device_number(), kGpuNumber); |
| 140 | ASSERT_GE(device_->total_memory(), 1 << 20); |
| 141 | ASSERT_NE(device_->device_name(), ""); |
| 142 | ASSERT_NE(device_->ToString(), ""); |
| 143 | |
| 144 | ASSERT_OK_AND_ASSIGN(auto other_device, CudaDevice::Make(kGpuNumber)); |
| 145 | ASSERT_FALSE(other_device->is_cpu()); |
| 146 | ASSERT_TRUE(IsCudaDevice(*other_device)); |
| 147 | ASSERT_EQ(other_device->device_number(), kGpuNumber); |
| 148 | ASSERT_EQ(other_device->total_memory(), device_->total_memory()); |
| 149 | ASSERT_EQ(other_device->handle(), device_->handle()); |
| 150 | ASSERT_EQ(other_device->device_name(), device_->device_name()); |
| 151 | ASSERT_EQ(*other_device, *device_); |
| 152 | |
| 153 | ASSERT_FALSE(IsCudaDevice(*cpu_device_)); |
| 154 | |
| 155 | // Try another device if possible |
| 156 | ASSERT_OK_AND_ASSIGN(other_device, OtherGpuDevice()); |
| 157 | if (other_device != nullptr) { |
| 158 | ASSERT_FALSE(other_device->is_cpu()); |
| 159 | ASSERT_EQ(other_device->device_number(), kOtherGpuNumber); |
| 160 | ASSERT_NE(*other_device, *device_); |
| 161 | ASSERT_NE(other_device->handle(), device_->handle()); |
| 162 | ASSERT_NE(other_device->ToString(), device_->ToString()); |
| 163 | } |
| 164 | |
| 165 | ASSERT_RAISES(Invalid, CudaDevice::Make(-1)); |
| 166 | ASSERT_RAISES(Invalid, CudaDevice::Make(99)); |
| 167 | } |
| 168 | |
| 169 | TEST_F(TestCudaDevice, Copy) { |
| 170 | auto cpu_buffer = Buffer::FromString("some data"); |
nothing calls this directly
no test coverage detected