/** * Gets device properties. * * @param device the device * @return the device properties */ public static cudaDeviceProp getDeviceProperties(final int device) { return propertyCache.computeIfAbsent(device, deviceId -> { long startTime = System.nanoTime(); @Nonnull final cudaDeviceProp deviceProp = new cudaDeviceProp(); final int result = JCuda.cudaGetDeviceProperties(deviceProp, device); getDeviceProperties_execution.accept((System.nanoTime() - startTime) / 1e9); log("cudaGetDeviceProperties", result, new Object[]{deviceProp, device}); return deviceProp; }); }
/** * Gets device properties. * * @param device the device * @return the device properties */ public static cudaDeviceProp getDeviceProperties(final int device) { return propertyCache.computeIfAbsent(device, deviceId -> { long startTime = System.nanoTime(); @Nonnull final cudaDeviceProp deviceProp = new cudaDeviceProp(); final int result = JCuda.cudaGetDeviceProperties(deviceProp, device); getDeviceProperties_execution.accept((System.nanoTime() - startTime) / 1e9); log("cudaGetDeviceProperties", result, new Object[]{deviceProp, device}); return deviceProp; }); }
JCuda.cudaGetDeviceCount(deviceCount); IntStream.range(0, deviceCount[0]).forEach(device -> { @Nonnull final cudaDeviceProp deviceProp = new cudaDeviceProp(); JCuda.cudaGetDeviceProperties(deviceProp, device); out.printf("Device %d = %s%n", device, deviceProp, free[0], total[0]);
JCuda.cudaGetDeviceCount(deviceCount); IntStream.range(0, deviceCount[0]).forEach(device -> { @Nonnull final cudaDeviceProp deviceProp = new cudaDeviceProp(); JCuda.cudaGetDeviceProperties(deviceProp, device); out.printf("Device %d = %s%n", device, deviceProp, free[0], total[0]);
/** * Initialize JCublas2. Only called once */ public static void init() { if (init) return; JCublas2.setExceptionsEnabled(true); JCudaDriver.setExceptionsEnabled(true); JCuda.setExceptionsEnabled(true); try { KernelFunctionLoader.getInstance().load(); } catch (Exception e) { throw new RuntimeException(e); } // Check if the device supports mapped host memory cudaDeviceProp deviceProperties = new cudaDeviceProp(); JCuda.cudaGetDeviceProperties(deviceProperties, 0); if (deviceProperties.canMapHostMemory == 0) { System.err.println("This device can not map host memory"); System.err.println(deviceProperties.toFormattedString()); return; } init = true; }