Package org.deeplearning4j.nn.workspace
Class LayerWorkspaceMgr
- java.lang.Object
-
- org.nd4j.linalg.workspace.BaseWorkspaceMgr<ArrayType>
-
- org.deeplearning4j.nn.workspace.LayerWorkspaceMgr
-
- All Implemented Interfaces:
WorkspaceMgr<ArrayType>
public class LayerWorkspaceMgr extends BaseWorkspaceMgr<ArrayType>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLayerWorkspaceMgr.Builder
-
Field Summary
Fields Modifier and Type Field Description static StringCUDNN_WORKSPACE_KEYprotected Map<String,org.bytedeco.javacpp.Pointer>helperWorkspacePointersprotected Set<String>noLeverageOverride-
Fields inherited from class org.nd4j.linalg.workspace.BaseWorkspaceMgr
configMap, scopeOutOfWs, workspaceNames
-
-
Constructor Summary
Constructors Constructor Description LayerWorkspaceMgr(Set<ArrayType> scopeOutOfWs, Map<ArrayType,WorkspaceConfiguration> configMap, Map<ArrayType,String> workspaceNames)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static LayerWorkspaceMgr.Builderbuilder()<T extends org.bytedeco.javacpp.Pointer>
TgetHelperWorkspace(String key)Get the pointer to the helper memory.INDArrayleverageTo(ArrayType arrayType, INDArray array)static LayerWorkspaceMgrnoWorkspaces()static LayerWorkspaceMgrnoWorkspaces(Map<String,org.bytedeco.javacpp.Pointer> helperWorkspacePointers)static LayerWorkspaceMgrnoWorkspacesImmutable()voidsetHelperWorkspace(@NonNull String key, org.bytedeco.javacpp.Pointer value)Set the pointer to the helper memory.voidsetNoLeverageOverride(String wsName)INDArrayvalidateArrayLocation(@NonNull ArrayType arrayType, @NonNull INDArray array, boolean migrateIfInvalid, boolean exceptionIfDetached)-
Methods inherited from class org.nd4j.linalg.workspace.BaseWorkspaceMgr
assertCurrentWorkspace, assertNotOpen, assertOpen, castTo, create, create, createUninitialized, createUninitialized, dup, dup, getConfiguration, getWorkspaceName, hasConfiguration, isScopedOut, isWorkspaceOpen, notifyScopeBorrowed, notifyScopeEntered, notifyScopeEntered, setConfiguration, setScopedOutFor, setWorkspace, setWorkspaceName
-
-
-
-
Method Detail
-
setNoLeverageOverride
public void setNoLeverageOverride(String wsName)
-
leverageTo
public INDArray leverageTo(ArrayType arrayType, INDArray array)
- Specified by:
leverageToin interfaceWorkspaceMgr<ArrayType>- Overrides:
leverageToin classBaseWorkspaceMgr<ArrayType>
-
validateArrayLocation
public INDArray validateArrayLocation(@NonNull @NonNull ArrayType arrayType, @NonNull @NonNull INDArray array, boolean migrateIfInvalid, boolean exceptionIfDetached)
- Specified by:
validateArrayLocationin interfaceWorkspaceMgr<ArrayType>- Overrides:
validateArrayLocationin classBaseWorkspaceMgr<ArrayType>
-
getHelperWorkspace
public <T extends org.bytedeco.javacpp.Pointer> T getHelperWorkspace(String key)
Get the pointer to the helper memory. Usually used for CUDNN workspace memory sharing. NOTE: Don't use this method unless you are fully aware of how it is used to manage CuDNN memory! Will (by design) throw a NPE if the underlying map (set from MultiLayerNetwork or ComputationGraph) is not set.- Type Parameters:
T- Pointer type- Parameters:
key- Key for the helper workspace pointer- Returns:
- Pointer for that key, or null if none exists
-
setHelperWorkspace
public void setHelperWorkspace(@NonNull @NonNull String key, org.bytedeco.javacpp.Pointer value)Set the pointer to the helper memory. Usually used for CuDNN workspace memory sharing. NOTE: Don't use this method unless you are fully aware of how it is used to manage CuDNN memory! Will (by design) throw a NPE if the underlying map (set from MultiLayerNetwork or ComputationGraph) is not set.- Parameters:
key- Key for the helper workspace pointervalue- Pointer
-
builder
public static LayerWorkspaceMgr.Builder builder()
-
noWorkspaces
public static LayerWorkspaceMgr noWorkspaces(Map<String,org.bytedeco.javacpp.Pointer> helperWorkspacePointers)
- Parameters:
helperWorkspacePointers- Helper pointers - seegetHelperWorkspace(String)for details- Returns:
- Workspace manager
-
noWorkspaces
public static LayerWorkspaceMgr noWorkspaces()
-
noWorkspacesImmutable
public static LayerWorkspaceMgr noWorkspacesImmutable()
-
-