@ Override public void synchronizeHostData ( DataBuffer buffer ) { // we don't want non-committed ops left behind //Nd4j.getExecutioner().push(); // we don't synchronize constant buffers, since we assume they are always valid on host side if ( buffer . isConstant ( ) ) { return ; } // we actually need synchronization only in device-dependant environment. no-op otherwise if ( memoryHandler . isDeviceDependant ( ) ) { AllocationPoint point = getAllocationPoint ( buffer . getTrackingPoint ( ) ) ; if ( point == null ) throw new RuntimeException ( "AllocationPoint is NULL" ) ; memoryHandler . synchronizeThreadDevice ( Thread . currentThread ( ) . getId ( ) , memoryHandler . getDeviceId ( ) , point ) ; } }
This method should be called to make sure that data on host side is actualized