Skip to content

Commit 6cb77ac

Browse files
committed
Adjust tests to the new interfaces
1 parent f15f1ef commit 6cb77ac

File tree

9 files changed

+78
-78
lines changed

9 files changed

+78
-78
lines changed

UsmAllocator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class UsmAllocator {
2222
using difference_type = std::ptrdiff_t;
2323

2424
UsmAllocator() noexcept = delete;
25-
UsmAllocator(device::DeviceInstance& instance) noexcept : api(instance.api) {}
25+
UsmAllocator(device::DeviceInstance& instance) noexcept : api(&instance.api()) {}
2626

2727
UsmAllocator(const UsmAllocator &) noexcept = default;
2828
UsmAllocator(UsmAllocator &&) noexcept = default;

examples/basic/basic.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,42 +17,42 @@ int main(int argc, char *argv[]) {
1717
DeviceInstance &device = DeviceInstance::getInstance();
1818

1919
// set up the first device
20-
const int numDevices = device.api->getNumDevices();
20+
const int numDevices = device.api().getNumDevices();
2121
std::cout << "Num. devices available: " << numDevices << '\n';
2222
if (numDevices > 0) {
23-
device.api->setDevice(0);
23+
device.api().setDevice(0);
2424
}
25-
device.api->initialize();
25+
device.api().initialize();
2626

2727
// print some device info
28-
std::string deviceInfo(device.api->getDeviceInfoAsText(0));
28+
std::string deviceInfo(device.api().getDeviceInfoAsText(0));
2929
std::cout << deviceInfo << std::endl;
3030

31-
std::cout << "alignment: " << device.api->getGlobMemAlignment() << std::endl;
32-
std::cout << "max available mem: " << device.api->getMaxAvailableMem() << std::endl;
33-
std::cout << "max shared mem: " << device.api->getMaxSharedMemSize() << std::endl;
34-
std::cout << "max thread block size: " << device.api->getMaxThreadBlockSize() << std::endl;
31+
std::cout << "alignment: " << device.api().getGlobMemAlignment() << std::endl;
32+
std::cout << "max available mem: " << device.api().getMaxAvailableMem() << std::endl;
33+
std::cout << "max shared mem: " << device.api().getMaxSharedMemSize() << std::endl;
34+
std::cout << "max thread block size: " << device.api().getMaxThreadBlockSize() << std::endl;
3535

3636

3737
// allocate mem. on a device
38-
real *dInputArray = static_cast<real *>(device.api->allocGlobMem(sizeof(real) * size));
39-
real *dOutputArray = static_cast<real *>(device.api->allocGlobMem(sizeof(real) * size));
38+
real *dInputArray = static_cast<real *>(device.api().allocGlobMem(sizeof(real) * size));
39+
real *dOutputArray = static_cast<real *>(device.api().allocGlobMem(sizeof(real) * size));
4040

4141
// copy data into a device
42-
device.api->copyTo(dInputArray, inputArray, sizeof(real) * size);
42+
device.api().copyTo(dInputArray, inputArray, sizeof(real) * size);
4343

4444
// call a kernel
45-
device.api->checkOffloading();
46-
device.api->syncDevice();
45+
device.api().checkOffloading();
46+
device.api().syncDevice();
4747

4848
// copy data from a device
49-
device.api->copyFrom(outputArray, dOutputArray, sizeof(real) * size);
49+
device.api().copyFrom(outputArray, dOutputArray, sizeof(real) * size);
5050

5151
// deallocate mem. on a device
52-
device.api->freeGlobMem(dInputArray);
53-
device.api->freeGlobMem(dOutputArray);
52+
device.api().freeGlobMem(dInputArray);
53+
device.api().freeGlobMem(dOutputArray);
5454

55-
std::cout << device.api->getMemLeaksReport();
55+
std::cout << device.api().getMemLeaksReport();
5656

5757
device.finalize();
5858

examples/jacobi/src/gpu/solver.cpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,21 @@ void gpu::Solver::run(const SolverSettingsT &settings, const CpuMatrixDataT &mat
4040

4141
// allocate gpu data structures
4242
DeviceInstance &device = DeviceInstance::getInstance();
43-
device.api->setDevice(ws.rank);
44-
device.api->initialize();
43+
device.api().setDevice(ws.rank);
44+
device.api().initialize();
4545
this->setUp(lu, rhs, x, residual, invDiag);
4646

4747
// start solver
4848
Statistics computeStat(ws, range);
4949
Statistics commStat(ws, range);
50-
auto defaultStream = device.api->getDefaultStream();
50+
auto defaultStream = device.api().getDefaultStream();
5151
while ((infNorm > settings.eps) and (currentIter <= settings.maxNumIters)) {
5252

5353
computeStat.start();
5454
launch_multMatVec(*devLU, devX, devTemp, defaultStream);
5555
launch_manipVectors(range, devRhs, devTemp, devX, VectorManipOps::Subtraction, defaultStream);
5656
launch_manipVectors(range, devInvDiag, devX, devX, VectorManipOps::Multiply, defaultStream);
57-
device.api->syncDevice();
57+
device.api().syncDevice();
5858
computeStat.stop();
5959

6060
commStat.start();
@@ -69,7 +69,7 @@ void gpu::Solver::run(const SolverSettingsT &settings, const CpuMatrixDataT &mat
6969
launch_multMatVec(*devLU, devX, devResidual, defaultStream);
7070
launch_manipVectors(range, devTemp, devResidual, devResidual, VectorManipOps::Addition, defaultStream);
7171
launch_manipVectors(range, devRhs, devResidual, devResidual, VectorManipOps::Subtraction, defaultStream);
72-
device.api->copyFrom(const_cast<real *>(residual.data()), devResidual, residual.size() * sizeof(real));
72+
device.api().copyFrom(const_cast<real *>(residual.data()), devResidual, residual.size() * sizeof(real));
7373

7474
auto localInfNorm = infNorm = host::getInfNorm(range, residual);
7575
#ifdef USE_MPI
@@ -90,9 +90,9 @@ void gpu::Solver::run(const SolverSettingsT &settings, const CpuMatrixDataT &mat
9090
++currentIter;
9191
}
9292

93-
device.api->syncDevice();
93+
device.api().syncDevice();
9494
assembler.assemble<SystemType::OnDevice>(devX, devTempX);
95-
device.api->copyFrom(const_cast<real *>(x.data()), devTempX, x.size() * sizeof(real));
95+
device.api().copyFrom(const_cast<real *>(x.data()), devTempX, x.size() * sizeof(real));
9696

9797
this->tearDown();
9898
}
@@ -101,54 +101,54 @@ void gpu::Solver::setUp(const CpuMatrixDataT &lu, const VectorT &rhs, const Vect
101101
VectorT &invDiag) {
102102
DeviceInstance &device = DeviceInstance::getInstance();
103103

104-
devRhs = static_cast<real *>(device.api->allocGlobMem(rhs.size() * sizeof(real)));
105-
device.api->copyTo(devRhs, rhs.data(), rhs.size() * sizeof(real));
104+
devRhs = static_cast<real *>(device.api().allocGlobMem(rhs.size() * sizeof(real)));
105+
device.api().copyTo(devRhs, rhs.data(), rhs.size() * sizeof(real));
106106

107-
devX = static_cast<real *>(device.api->allocGlobMem(x.size() * sizeof(real)));
108-
device.api->copyTo(devX, x.data(), x.size() * sizeof(real));
107+
devX = static_cast<real *>(device.api().allocGlobMem(x.size() * sizeof(real)));
108+
device.api().copyTo(devX, x.data(), x.size() * sizeof(real));
109109

110-
devTempX = static_cast<real *>(device.api->allocGlobMem(x.size() * sizeof(real)));
111-
device.api->copyTo(devTempX, x.data(), x.size() * sizeof(real));
110+
devTempX = static_cast<real *>(device.api().allocGlobMem(x.size() * sizeof(real)));
111+
device.api().copyTo(devTempX, x.data(), x.size() * sizeof(real));
112112

113-
devTemp = static_cast<real *>(device.api->allocGlobMem(x.size() * sizeof(real)));
113+
devTemp = static_cast<real *>(device.api().allocGlobMem(x.size() * sizeof(real)));
114114

115115
// InvDiag still holds the diagonal elements at this point
116-
devDiag = static_cast<real *>(device.api->allocGlobMem(invDiag.size() * sizeof(real)));
117-
device.api->copyTo(devDiag, invDiag.data(), invDiag.size() * sizeof(real));
116+
devDiag = static_cast<real *>(device.api().allocGlobMem(invDiag.size() * sizeof(real)));
117+
device.api().copyTo(devDiag, invDiag.data(), invDiag.size() * sizeof(real));
118118

119119
// compute inverse diagonal matrix
120120
std::transform(invDiag.begin(), invDiag.end(), invDiag.begin(), [](const real &diag) {
121121
assert(diag != 0.0 && "diag element cannot be equal to zero");
122122
return 1.0 / diag;
123123
});
124124

125-
devInvDiag = static_cast<real *>(device.api->allocGlobMem(invDiag.size() * sizeof(real)));
126-
device.api->copyTo(devInvDiag, invDiag.data(), invDiag.size() * sizeof(real));
125+
devInvDiag = static_cast<real *>(device.api().allocGlobMem(invDiag.size() * sizeof(real)));
126+
device.api().copyTo(devInvDiag, invDiag.data(), invDiag.size() * sizeof(real));
127127

128-
devResidual = static_cast<real *>(device.api->allocGlobMem(residual.size() * sizeof(real)));
129-
device.api->copyTo(devResidual, residual.data(), residual.size() * sizeof(real));
128+
devResidual = static_cast<real *>(device.api().allocGlobMem(residual.size() * sizeof(real)));
129+
device.api().copyTo(devResidual, residual.data(), residual.size() * sizeof(real));
130130

131131
devLU = std::make_unique<GpuMatrixDataT>(lu.info);
132132
// GpuMatrixDataT devLU(LU.Info);
133-
devLU->data = static_cast<real *>(device.api->allocGlobMem(lu.info.volume * sizeof(real)));
134-
device.api->copyTo(devLU->data, lu.data.data(), lu.info.volume * sizeof(real));
133+
devLU->data = static_cast<real *>(device.api().allocGlobMem(lu.info.volume * sizeof(real)));
134+
device.api().copyTo(devLU->data, lu.data.data(), lu.info.volume * sizeof(real));
135135

136-
devLU->indices = static_cast<int *>(device.api->allocGlobMem(lu.info.volume * sizeof(int)));
137-
device.api->copyTo(devLU->indices, lu.indices.data(), lu.info.volume * sizeof(int));
136+
devLU->indices = static_cast<int *>(device.api().allocGlobMem(lu.info.volume * sizeof(int)));
137+
device.api().copyTo(devLU->indices, lu.indices.data(), lu.info.volume * sizeof(int));
138138
}
139139

140140
void gpu::Solver::tearDown() {
141141
DeviceInstance &device = DeviceInstance::getInstance();
142-
device.api->freeGlobMem(devResidual);
143-
device.api->freeGlobMem(devInvDiag);
144-
device.api->freeGlobMem(devDiag);
145-
device.api->freeGlobMem(devTemp);
146-
device.api->freeGlobMem(devX);
147-
device.api->freeGlobMem(devTempX);
148-
device.api->freeGlobMem(devRhs);
149-
150-
device.api->freeGlobMem(devLU->data);
151-
device.api->freeGlobMem(devLU->indices);
142+
device.api().freeGlobMem(devResidual);
143+
device.api().freeGlobMem(devInvDiag);
144+
device.api().freeGlobMem(devDiag);
145+
device.api().freeGlobMem(devTemp);
146+
device.api().freeGlobMem(devX);
147+
device.api().freeGlobMem(devTempX);
148+
device.api().freeGlobMem(devRhs);
149+
150+
device.api().freeGlobMem(devLU->data);
151+
device.api().freeGlobMem(devLU->indices);
152152
devLU.reset(nullptr);
153153
}
154154

examples/jacobi/src/helper.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ class VectorAssembler {
9797
}
9898
} else {
9999
device::DeviceInstance &device = device::DeviceInstance::getInstance();
100-
device.api->copyBetween(dest, src, recvCounts[0] * sizeof(real));
100+
device.api().copyBetween(dest, src, recvCounts[0] * sizeof(real));
101101
}
102102
#endif
103103
}

examples/jacobi/tests/driver.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ int main(int argc, char **argv) {
2525
#endif
2626

2727
DeviceInstance &device = DeviceInstance::getInstance();
28-
device.api->setDevice(ws.rank);
29-
device.api->initialize();
28+
device.api().setDevice(ws.rank);
29+
device.api().initialize();
3030

3131
::testing::InitGoogleTest(&argc, argv);
3232
int result = RUN_ALL_TESTS();

tests/array_manip.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ TEST_F(ArrayManip, fill) {
1919
int *arr = (int *)device->api->allocGlobMem(N * sizeof(int));
2020
int scalar = 502;
2121

22-
device->algorithms.fillArray(arr, scalar, N, device->api->getDefaultStream());
22+
device->algorithms().fillArray(arr, scalar, N, device->api->getDefaultStream());
2323

2424
std::vector<int> hostVector(N, 0);
2525
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(int), device->api->getDefaultStream());
@@ -37,7 +37,7 @@ TEST_F(ArrayManip, touchClean32) {
3737

3838
const int N = 100;
3939
float *arr = (float *)device->api->allocGlobMem(N * sizeof(float));
40-
device->algorithms.touchMemory(arr, N, true, device->api->getDefaultStream());
40+
device->algorithms().touchMemory(arr, N, true, device->api->getDefaultStream());
4141
std::vector<float> hostVector(N, 1);
4242

4343
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(float), device->api->getDefaultStream());
@@ -58,7 +58,7 @@ TEST_F(ArrayManip, touchNoClean32) {
5858
std::vector<float> hostVector(N, 0);
5959

6060
device->api->copyToAsync(arr, &hostVector[0], N * sizeof(float), device->api->getDefaultStream());
61-
device->algorithms.touchMemory(arr, N, false, device->api->getDefaultStream());
61+
device->algorithms().touchMemory(arr, N, false, device->api->getDefaultStream());
6262
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(float), device->api->getDefaultStream());
6363

6464
device->api->syncDefaultStreamWithHost();
@@ -74,7 +74,7 @@ TEST_F(ArrayManip, touchClean64) {
7474

7575
const int N = 100;
7676
double *arr = (double *)device->api->allocGlobMem(N * sizeof(double));
77-
device->algorithms.touchMemory(arr, N, true, device->api->getDefaultStream());
77+
device->algorithms().touchMemory(arr, N, true, device->api->getDefaultStream());
7878
std::vector<double> hostVector(N, 1);
7979

8080
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(double), device->api->getDefaultStream());
@@ -95,7 +95,7 @@ TEST_F(ArrayManip, touchNoClean64) {
9595
std::vector<double> hostVector(N, 0);
9696

9797
device->api->copyToAsync(arr, &hostVector[0], N * sizeof(double), device->api->getDefaultStream());
98-
device->algorithms.touchMemory(arr, N, false, device->api->getDefaultStream());
98+
device->algorithms().touchMemory(arr, N, false, device->api->getDefaultStream());
9999
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(double), device->api->getDefaultStream());
100100

101101
device->api->syncDefaultStreamWithHost();
@@ -113,7 +113,7 @@ TEST_F(ArrayManip, scale) {
113113
int *arr = (int *)device->api->allocGlobMem(N * sizeof(int));
114114

115115
device->api->copyToAsync(arr, &hostVector[0], N * sizeof(int), device->api->getDefaultStream());
116-
device->algorithms.scaleArray(arr, 5, N, device->api->getDefaultStream());
116+
device->algorithms().scaleArray(arr, 5, N, device->api->getDefaultStream());
117117
device->api->copyFromAsync(&hostVector[0], arr, N * sizeof(int), device->api->getDefaultStream());
118118

119119
device->api->syncDefaultStreamWithHost();

tests/batch_manip.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ TEST_F(BatchManip, fill32) {
4343
testWrapper<float>(N, M, false, [&](float** batch, float* data) {
4444
float scalar = 502;
4545

46-
device->algorithms.setToValue(batch, scalar, M, N, device->api->getDefaultStream());
46+
device->algorithms().setToValue(batch, scalar, M, N, device->api->getDefaultStream());
4747

4848
std::vector<float> hostVector(N * M, 0);
4949
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(float), device->api->getDefaultStream());
@@ -60,7 +60,7 @@ TEST_F(BatchManip, touchClean32) {
6060
const int N = 100;
6161
const int M = 120;
6262
testWrapper<float>(N, M, false, [&](float** batch, float* data) {
63-
device->algorithms.touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
63+
device->algorithms().touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
6464
std::vector<float> hostVector(N * M, 1);
6565

6666
device->api->copyFromAsync(&hostVector[0], data, M * N * sizeof(float), device->api->getDefaultStream());
@@ -76,7 +76,7 @@ TEST_F(BatchManip, touchClean32) {
7676
std::vector<float> hostVector(N * M, 1);
7777

7878
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(float), device->api->getDefaultStream());
79-
device->algorithms.touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
79+
device->algorithms().touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
8080
device->api->copyFromAsync(&hostVector[0], data, M * N * sizeof(float), device->api->getDefaultStream());
8181

8282
device->api->syncDefaultStreamWithHost();
@@ -101,7 +101,7 @@ TEST_F(BatchManip, touchNoClean32) {
101101
std::vector<float> hostVector(N * M, 1);
102102

103103
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(float), device->api->getDefaultStream());
104-
device->algorithms.touchBatchedMemory(batch, M, N, false, device->api->getDefaultStream());
104+
device->algorithms().touchBatchedMemory(batch, M, N, false, device->api->getDefaultStream());
105105
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(float), device->api->getDefaultStream());
106106

107107
device->api->syncDefaultStreamWithHost();
@@ -121,7 +121,7 @@ TEST_F(BatchManip, scatterToUniform32) {
121121
std::vector<float> hostVector(N * M, 1);
122122

123123
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(float), device->api->getDefaultStream());
124-
device->algorithms.copyScatterToUniform(const_cast<const float**>(batch), data2, M, M, N, device->api->getDefaultStream());
124+
device->algorithms().copyScatterToUniform(const_cast<const float**>(batch), data2, M, M, N, device->api->getDefaultStream());
125125
device->api->copyFromAsync(&hostVector[0], data2, N * M * sizeof(float), device->api->getDefaultStream());
126126

127127
device->api->syncDefaultStreamWithHost();
@@ -142,7 +142,7 @@ TEST_F(BatchManip, uniformToScatter32) {
142142
std::vector<float> hostVector(N * M, 1);
143143

144144
device->api->copyToAsync(data2, &hostVector[0], N * M * sizeof(float), device->api->getDefaultStream());
145-
device->algorithms.copyUniformToScatter(data2, batch, M, M, N, device->api->getDefaultStream());
145+
device->algorithms().copyUniformToScatter(data2, batch, M, M, N, device->api->getDefaultStream());
146146
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(float), device->api->getDefaultStream());
147147

148148
device->api->syncDefaultStreamWithHost();
@@ -164,7 +164,7 @@ TEST_F(BatchManip, fill64) {
164164
testWrapper<double>(N, M, false, [&](double** batch, double* data) {
165165
double scalar = 502;
166166

167-
device->algorithms.setToValue(batch, scalar, M, N, device->api->getDefaultStream());
167+
device->algorithms().setToValue(batch, scalar, M, N, device->api->getDefaultStream());
168168

169169
std::vector<double> hostVector(N * M, 0);
170170
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(double), device->api->getDefaultStream());
@@ -181,7 +181,7 @@ TEST_F(BatchManip, touchClean64) {
181181
const int N = 100;
182182
const int M = 120;
183183
testWrapper<double>(N, M, false, [&](double** batch, double* data) {
184-
device->algorithms.touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
184+
device->algorithms().touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
185185
std::vector<double> hostVector(N * M, 1);
186186

187187
device->api->copyFromAsync(&hostVector[0], data, M * N * sizeof(double), device->api->getDefaultStream());
@@ -197,7 +197,7 @@ TEST_F(BatchManip, touchClean64) {
197197
std::vector<double> hostVector(N * M, 1);
198198

199199
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(double), device->api->getDefaultStream());
200-
device->algorithms.touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
200+
device->algorithms().touchBatchedMemory(batch, M, N, true, device->api->getDefaultStream());
201201
device->api->copyFromAsync(&hostVector[0], data, M * N * sizeof(double), device->api->getDefaultStream());
202202

203203
device->api->syncDefaultStreamWithHost();
@@ -222,7 +222,7 @@ TEST_F(BatchManip, touchNoClean64) {
222222
std::vector<double> hostVector(N * M, 1);
223223

224224
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(double), device->api->getDefaultStream());
225-
device->algorithms.touchBatchedMemory(batch, M, N, false, device->api->getDefaultStream());
225+
device->algorithms().touchBatchedMemory(batch, M, N, false, device->api->getDefaultStream());
226226
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(double), device->api->getDefaultStream());
227227

228228
device->api->syncDefaultStreamWithHost();
@@ -242,7 +242,7 @@ TEST_F(BatchManip, scatterToUniform64) {
242242
std::vector<double> hostVector(N * M, 1);
243243

244244
device->api->copyToAsync(data, &hostVector[0], N * M * sizeof(double), device->api->getDefaultStream());
245-
device->algorithms.copyScatterToUniform(const_cast<const double**>(batch), data2, M, M, N, device->api->getDefaultStream());
245+
device->algorithms().copyScatterToUniform(const_cast<const double**>(batch), data2, M, M, N, device->api->getDefaultStream());
246246
device->api->copyFromAsync(&hostVector[0], data2, N * M * sizeof(double), device->api->getDefaultStream());
247247

248248
device->api->syncDefaultStreamWithHost();
@@ -263,7 +263,7 @@ TEST_F(BatchManip, uniformToScatter64) {
263263
std::vector<double> hostVector(N * M, 1);
264264

265265
device->api->copyToAsync(data2, &hostVector[0], N * M * sizeof(double), device->api->getDefaultStream());
266-
device->algorithms.copyUniformToScatter(data2, batch, M, M, N, device->api->getDefaultStream());
266+
device->algorithms().copyUniformToScatter(data2, batch, M, M, N, device->api->getDefaultStream());
267267
device->api->copyFromAsync(&hostVector[0], data, N * M * sizeof(double), device->api->getDefaultStream());
268268

269269
device->api->syncDefaultStreamWithHost();

tests/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ int main(int argc, char **argv) {
1111
::testing::InitGoogleTest(&argc, argv);
1212

1313
DeviceInstance &device = DeviceInstance::getInstance();
14-
device.api->setDevice(0);
15-
device.api->initialize();
14+
device.api().setDevice(0);
15+
device.api().initialize();
1616

1717
return RUN_ALL_TESTS();
1818
}

0 commit comments

Comments
 (0)