From 2129d5bcace50cdd766936d3f4eb37323564ad7d Mon Sep 17 00:00:00 2001 From: raver119 Date: Mon, 2 Sep 2019 16:52:28 +0300 Subject: [PATCH] cublasHandle sharing + lock Signed-off-by: raver119 --- .../main/java/org/nd4j/jita/handler/impl/CudaZeroHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/jita/handler/impl/CudaZeroHandler.java b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/jita/handler/impl/CudaZeroHandler.java index 23301f4be..106ac9c3a 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/jita/handler/impl/CudaZeroHandler.java +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/jita/handler/impl/CudaZeroHandler.java @@ -1184,9 +1184,10 @@ public class CudaZeroHandler implements MemoryHandler { protected synchronized cublasHandle_t getCudaCublasHandle(OpaqueLaunchContext lc) { val deviceId = Nd4j.getAffinityManager().getDeviceForCurrentThread(); - if (cublasHandles.get(deviceId) == null) + if (cublasHandles.get(deviceId) == null) { cublasHandles.remove(deviceId); cublasHandles.add(deviceId, new cublasHandle_t(nativeOps.lcBlasHandle(lc))); + } return cublasHandles.get(deviceId); }