Lines Matching refs:dctx
20 static PetscErrorCode TestAllocate(PetscDeviceContext dctx, PetscRandom rand, PetscMemType mtype) in TestAllocate() argument
29 PetscCall(PetscDeviceContextGetDeviceType(dctx, &dtype)); in TestAllocate()
35 PetscCall(PetscDeviceMalloc(dctx, mtype, n, &ptr)); in TestAllocate()
41 PetscCall(PetscDeviceFree(dctx, ptr)); in TestAllocate()
51 PetscCall(PetscDeviceMalloc(dctx, mtype, 1, &char_ptr)); in TestAllocate()
52 PetscCall(PetscDeviceMalloc(dctx, mtype, 1, &short_ptr)); in TestAllocate()
53 PetscCall(PetscDeviceMalloc(dctx, mtype, 1, &int_ptr)); in TestAllocate()
54 PetscCall(PetscDeviceMalloc(dctx, mtype, 1, &double_ptr)); in TestAllocate()
55 PetscCall(PetscDeviceMalloc(dctx, mtype, 1, &long_int_ptr)); in TestAllocate()
58 PetscCall(PetscDeviceFree(dctx, char_ptr)); in TestAllocate()
59 PetscCall(PetscDeviceFree(dctx, short_ptr)); in TestAllocate()
60 PetscCall(PetscDeviceFree(dctx, int_ptr)); in TestAllocate()
61 PetscCall(PetscDeviceFree(dctx, double_ptr)); in TestAllocate()
62 PetscCall(PetscDeviceFree(dctx, long_int_ptr)); in TestAllocate()
67 PetscCall(PetscDeviceCalloc(dctx, mtype, n, &ptr)); in TestAllocate()
72 PetscCall(PetscDeviceMalloc(dctx, PETSC_MEMTYPE_HOST, n, &tmp_ptr)); in TestAllocate()
73 PetscCall(PetscDeviceArrayCopy(dctx, tmp_ptr, ptr, n)); in TestAllocate()
75 PetscCall(PetscDeviceContextSynchronize(dctx)); in TestAllocate()
80 PetscCall(PetscDeviceFree(dctx, tmp_ptr)); in TestAllocate()
82 PetscCall(PetscDeviceFree(dctx, ptr)); in TestAllocate()
86 PetscCall(PetscDeviceMalloc(dctx, mtype, n, &ptr)); in TestAllocate()
87 PetscCall(PetscDeviceArrayZero(dctx, ptr, n)); in TestAllocate()
91 PetscCall(PetscDeviceArrayCopy(dctx, tmp_ptr, ptr, n)); in TestAllocate()
92 PetscCall(PetscDeviceContextSynchronize(dctx)); in TestAllocate()
94 PetscCall(PetscDeviceFree(dctx, tmp_ptr)); in TestAllocate()
95 PetscCall(PetscDeviceFree(dctx, ptr)); in TestAllocate()
99 static PetscErrorCode TestAsyncCoherence(PetscDeviceContext dctx, PetscRandom rand) in TestAsyncCoherence() argument
108 PetscCall(PetscDeviceContextGetDeviceType(dctx, &dtype)); in TestAsyncCoherence()
110 PetscCall(PetscDeviceContextForkWithStreamType(dctx, PETSC_STREAM_NONBLOCKING, nsub, &sub)); in TestAsyncCoherence()
138 PetscCall(PetscDeviceCalloc(dctx, PETSC_MEMTYPE_DEVICE, n, &ptr)); in TestAsyncCoherence()
139 PetscCall(PetscDeviceMalloc(dctx, PETSC_MEMTYPE_HOST, n, &tmp_ptr)); in TestAsyncCoherence()
148 PetscCall(PetscDeviceContextJoin(dctx, nsub, PETSC_DEVICE_CONTEXT_JOIN_DESTROY, &sub)); in TestAsyncCoherence()
154 PetscDeviceContext dctx; in main() local
183 PetscCall(PetscDeviceContextGetCurrentContext(&dctx)); in main()
191 PetscCall(TestAllocate(dctx, rand, PETSC_MEMTYPE_HOST)); in main()
192 PetscCall(TestAllocate(dctx, rand, PETSC_MEMTYPE_DEVICE)); in main()
193 PetscCall(TestAsyncCoherence(dctx, rand)); in main()