コード例 #1
0
ファイル: CudaEngine.java プロジェクト: TsubameDono/TurtleKit
 static FloatBuffer getUnifiedFloatBuffer(Pointer pinnedMemory, CUdeviceptr devicePtr, long size) {
   JCudaDriver.cuMemHostAlloc(pinnedMemory, size, JCudaDriver.CU_MEMHOSTALLOC_DEVICEMAP);
   final ByteBuffer byteBuffer = pinnedMemory.getByteBuffer(0, size);
   byteBuffer.order(ByteOrder.nativeOrder());
   JCudaDriver.cuMemHostGetDevicePointer(devicePtr, pinnedMemory, 0);
   return byteBuffer.asFloatBuffer();
 }
コード例 #2
0
ファイル: CudaEngine.java プロジェクト: TsubameDono/TurtleKit
  public static int[] getUnifiedIntArray(Pointer pinnedMemory, CUdeviceptr devicePtr, int size) {
    int[] values = new int[size];
    JCudaDriver.cuMemHostAlloc(pinnedMemory, size, JCudaDriver.CU_MEMHOSTALLOC_DEVICEMAP);
    final ByteBuffer byteBuffer = pinnedMemory.getByteBuffer(0, size);
    byteBuffer.order(ByteOrder.nativeOrder());
    JCudaDriver.cuMemHostGetDevicePointer(devicePtr, pinnedMemory, 0);

    return values;
  }