nd4j-backends/nd4j-backend-impls/nd4j-cuda/src/main/java/org/nd4j/jita/concurrency/CudaAffinityManager.java
@Override
    public void attachThreadToDevice(long threadId, Integer deviceId) {
        List<Integer> devices = new ArrayList<>(CudaEnvironment.getInstance().getConfiguration().getAvailableDevices());
        logger.debug("Manually mapping thread [{}] to device [{}], out of [{}] devices...", threadId, deviceId,
                        devices.size());
        affinityMap.put(threadId, deviceId);
    }
@Override
    public void attachThreadToDevice(long threadId, Integer deviceId) {
        List<Integer> devices = new ArrayList<>(CudaEnvironment.getInstance().getConfiguration().getAvailableDevices());
        logger.debug("Manually mapping thread [{}] to device [{}], out of [{}] devices...", threadId, deviceId,
                        devices.size());
        affinityMap.put(threadId, deviceId);
    }
@ Override public void attachThreadToDevice ( long threadId , Integer deviceId ) { List < Integer > devices = new ArrayList <> ( CudaEnvironment . getInstance ( ) . getConfiguration ( ) . getAvailableDevices ( ) ) ; logger . debug ( "Manually mapping thread [{}] to device [{}], out of [{}] devices..." , threadId , deviceId , devices . size ( ) ) ; affinityMap . put ( threadId , deviceId ) ; }
This method pairs specified thread & device

@param threadId
@param deviceId
This method pairs specified thread & device