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 class
LayerWorkspaceMgr.Builder
-
Field Summary
Fields Modifier and Type Field Description static String
CUDNN_WORKSPACE_KEY
protected Map<String,org.bytedeco.javacpp.Pointer>
helperWorkspacePointers
protected 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.Builder
builder()
<T extends org.bytedeco.javacpp.Pointer>
TgetHelperWorkspace(String key)
Get the pointer to the helper memory.INDArray
leverageTo(ArrayType arrayType, INDArray array)
static LayerWorkspaceMgr
noWorkspaces()
static LayerWorkspaceMgr
noWorkspaces(Map<String,org.bytedeco.javacpp.Pointer> helperWorkspacePointers)
static LayerWorkspaceMgr
noWorkspacesImmutable()
void
setHelperWorkspace(@NonNull String key, org.bytedeco.javacpp.Pointer value)
Set the pointer to the helper memory.void
setNoLeverageOverride(String wsName)
INDArray
validateArrayLocation(@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:
leverageTo
in interfaceWorkspaceMgr<ArrayType>
- Overrides:
leverageTo
in classBaseWorkspaceMgr<ArrayType>
-
validateArrayLocation
public INDArray validateArrayLocation(@NonNull @NonNull ArrayType arrayType, @NonNull @NonNull INDArray array, boolean migrateIfInvalid, boolean exceptionIfDetached)
- Specified by:
validateArrayLocation
in interfaceWorkspaceMgr<ArrayType>
- Overrides:
validateArrayLocation
in 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()
-
-