From ac2d2227cb3a3f5c9384597963c54d5b5b162842 Mon Sep 17 00:00:00 2001 From: Laurent Clouet Date: Wed, 10 Dec 2014 15:27:12 +0000 Subject: [PATCH] Bugfix: a NativeLong is 32bits on windows and might be 64bits on unix. A 'JavaLong' is always 64bits. --- src/com/sheepit/client/hardware/gpu/CUDA.java | 4 ++-- src/com/sheepit/client/hardware/gpu/GPU.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/com/sheepit/client/hardware/gpu/CUDA.java b/src/com/sheepit/client/hardware/gpu/CUDA.java index 3f824fa..8e9ee80 100644 --- a/src/com/sheepit/client/hardware/gpu/CUDA.java +++ b/src/com/sheepit/client/hardware/gpu/CUDA.java @@ -20,7 +20,6 @@ package com.sheepit.client.hardware.gpu; import com.sun.jna.Library; -import com.sun.jna.NativeLong; public interface CUDA extends Library { public int cuInit(int flags); @@ -32,5 +31,6 @@ public interface CUDA extends Library { public int cuDeviceGetName(byte[] name, int len, int dev); - public int cuDeviceTotalMem(NativeLong bytes[], int dev); + // http://en.wikipedia.org/wiki/Java_Native_Access + public int cuDeviceTotalMem(long bytes[], int dev); } diff --git a/src/com/sheepit/client/hardware/gpu/GPU.java b/src/com/sheepit/client/hardware/gpu/GPU.java index fdbf8a4..f23ea76 100644 --- a/src/com/sheepit/client/hardware/gpu/GPU.java +++ b/src/com/sheepit/client/hardware/gpu/GPU.java @@ -24,7 +24,6 @@ import java.util.List; import com.sheepit.client.os.OS; import com.sun.jna.Native; -import com.sun.jna.NativeLong; public class GPU { public static List devices = null; @@ -84,7 +83,7 @@ public class GPU { continue; } - NativeLong[] ram = new NativeLong[1]; + long[] ram = new long[1]; result = cudalib.cuDeviceTotalMem(ram, num); if (result != CUresult.CUDA_SUCCESS) { @@ -92,7 +91,7 @@ public class GPU { return false; } - devices.add(new GPUDevice(new String(name).trim(), ram[0].longValue(), "CUDA_" + Integer.toString(num))); + devices.add(new GPUDevice(new String(name).trim(), ram[0], "CUDA_" + Integer.toString(num))); } return true; }