MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / TEST

Function TEST

dnn/test/common/megcore/computing.cpp:5–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3#include <gtest/gtest.h>
4#include "test/common/utils.h"
5TEST(MegcoreCPU, COMPUTING) {
6 megcoreDeviceHandle_t devHandle;
7 megcoreCreateDeviceHandle(&devHandle, megcorePlatformCPU, -1, 0);
8
9 megcoreComputingHandle_t compHandle;
10 megcoreCreateComputingHandle(&compHandle, devHandle, 0);
11
12 megcoreDeviceHandle_t devHandle2;
13 megcoreGetDeviceHandle(compHandle, &devHandle2);
14 ASSERT_EQ(devHandle, devHandle2);
15
16 unsigned int flags;
17 megcoreGetComputingFlags(compHandle, &flags);
18 ASSERT_EQ(0u, flags);
19
20 unsigned char *src, *dst;
21 static const size_t N = 5;
22 megcoreMalloc(devHandle, (void**)&src, N);
23 megcoreMalloc(devHandle, (void**)&dst, N);
24 megcoreMemset(compHandle, src, 0x0F, N);
25 megcoreMemset(compHandle, dst, 0xF0, N);
26 megcoreSynchronize(compHandle);
27 for (size_t i = 0; i < N; ++i) {
28 ASSERT_EQ(0x0F, src[i]);
29 ASSERT_EQ(0xF0, dst[i]);
30 }
31 megcoreMemcpy(compHandle, dst, src, N, megcoreMemcpyDeviceToDevice);
32 megcoreSynchronize(compHandle);
33 for (size_t i = 0; i < N; ++i) {
34 ASSERT_EQ(dst[i], src[i]);
35 }
36 megcoreFree(devHandle, src);
37 megcoreFree(devHandle, dst);
38
39 megcoreDestroyComputingHandle(compHandle);
40 megcoreDestroyDeviceHandle(devHandle);
41}
42// vim: syntax=cpp.doxygen

Callers

nothing calls this directly

Calls 11

megcoreGetDeviceHandleFunction · 0.85
megcoreGetComputingFlagsFunction · 0.85
megcoreMallocFunction · 0.85
megcoreMemsetFunction · 0.85
megcoreSynchronizeFunction · 0.85
megcoreMemcpyFunction · 0.85
megcoreFreeFunction · 0.85

Tested by

no test coverage detected