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

Function TEST_F

dnn/test/cuda/megcore/computing.cpp:9–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7#include "test/cuda/utils.h"
8
9TEST_F(MegcoreCUDA, COMPUTING) {
10 for (int id = -1; id < std::min(nr_devices(), 2); ++id) {
11 megcoreDeviceHandle_t devHandle;
12 megcoreCreateDeviceHandle(&devHandle, megcorePlatformCUDA, id, 0);
13 megcoreActivate(devHandle);
14
15 megcoreComputingHandle_t compHandle;
16 megcoreCreateComputingHandle(&compHandle, devHandle, 0);
17
18 megcoreDeviceHandle_t devHandle2;
19 megcoreGetDeviceHandle(compHandle, &devHandle2);
20 ASSERT_EQ(devHandle, devHandle2);
21
22 unsigned int flags;
23 megcoreGetComputingFlags(compHandle, &flags);
24 ASSERT_EQ(0u, flags);
25
26 unsigned char *src, *dst;
27 static const size_t N = 5;
28 unsigned char src_host[N], dst_host[N];
29 megcoreMalloc(devHandle, (void**)&src, N);
30 megcoreMalloc(devHandle, (void**)&dst, N);
31 megcoreMemset(compHandle, src, 0x0F, N);
32 megcoreMemset(compHandle, dst, 0xF0, N);
33 megcoreMemcpy(compHandle, src_host, src, N, megcoreMemcpyDeviceToHost);
34 megcoreMemcpy(compHandle, dst_host, dst, N, megcoreMemcpyDeviceToHost);
35 megcoreSynchronize(compHandle);
36 for (size_t i = 0; i < N; ++i) {
37 ASSERT_EQ(0x0F, src_host[i]);
38 ASSERT_EQ(0xF0, dst_host[i]);
39 }
40 megcoreMemcpy(compHandle, dst, src, N, megcoreMemcpyDeviceToDevice);
41 megcoreMemcpy(compHandle, src_host, src, N, megcoreMemcpyDeviceToHost);
42 megcoreMemcpy(compHandle, dst_host, dst, N, megcoreMemcpyDeviceToHost);
43 megcoreSynchronize(compHandle);
44 for (size_t i = 0; i < N; ++i) {
45 ASSERT_EQ(dst_host[i], src_host[i]);
46 }
47 megcoreFree(devHandle, src);
48 megcoreFree(devHandle, dst);
49
50 megcoreDestroyComputingHandle(compHandle);
51 megcoreDestroyDeviceHandle(devHandle);
52 }
53}
54
55TEST_F(MegcoreCUDA, STREAM) {
56 megcoreDeviceHandle_t devHandle;

Callers

nothing calls this directly

Calls 15

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

Tested by

no test coverage detected