stream_executor

package
v2.8.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2022 License: Apache-2.0, BSD-2-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DataType_name = map[int32]string{
		0: "kFloat",
		1: "kDouble",
		2: "kHalf",
		3: "kInt8",
		4: "kInt32",
		5: "kComplexFloat",
		6: "kComplexDouble",
		7: "kBF16",
	}
	DataType_value = map[string]int32{
		"kFloat":         0,
		"kDouble":        1,
		"kHalf":          2,
		"kInt8":          3,
		"kInt32":         4,
		"kComplexFloat":  5,
		"kComplexDouble": 6,
		"kBF16":          7,
	}
)

Enum value maps for DataType.

View Source
var (
	DataLayout_name = map[int32]string{
		0: "kYXDepthBatch",
		1: "kYXBatchDepth",
		2: "kBatchYXDepth",
		3: "kBatchDepthYX",
		4: "kBatchDepthYX4",
		5: "kBatchDepthYX32",
	}
	DataLayout_value = map[string]int32{
		"kYXDepthBatch":   0,
		"kYXBatchDepth":   1,
		"kBatchYXDepth":   2,
		"kBatchDepthYX":   3,
		"kBatchDepthYX4":  4,
		"kBatchDepthYX32": 5,
	}
)

Enum value maps for DataLayout.

View Source
var (
	FilterLayout_name = map[int32]string{
		0: "kOutputInputYX",
		1: "kOutputYXInput",
		2: "kOutputInputYX4",
		5: "kOutputInputYX32",
		3: "kInputYXOutput",
		4: "kYXInputOutput",
	}
	FilterLayout_value = map[string]int32{
		"kOutputInputYX":   0,
		"kOutputYXInput":   1,
		"kOutputInputYX4":  2,
		"kOutputInputYX32": 5,
		"kInputYXOutput":   3,
		"kYXInputOutput":   4,
	}
)

Enum value maps for FilterLayout.

View Source
var (
	ActivationMode_name = map[int32]string{
		0: "kNone",
		1: "kSigmoid",
		2: "kRelu",
		3: "kRelu6",
		4: "kReluX",
		5: "kTanh",
		6: "kBandPass",
	}
	ActivationMode_value = map[string]int32{
		"kNone":     0,
		"kSigmoid":  1,
		"kRelu":     2,
		"kRelu6":    3,
		"kReluX":    4,
		"kTanh":     5,
		"kBandPass": 6,
	}
)

Enum value maps for ActivationMode.

View Source
var (
	ConvolutionMode_name = map[int32]string{
		0: "CROSS_CORRELATION",
		1: "CONVOLUTION",
	}
	ConvolutionMode_value = map[string]int32{
		"CROSS_CORRELATION": 0,
		"CONVOLUTION":       1,
	}
)

Enum value maps for ConvolutionMode.

View Source
var (
	ConvolutionKind_name = map[int32]string{
		0: "INVALID",
		1: "FORWARD",
		2: "BACKWARD_FILTER",
		3: "BACKWARD_DATA",
		4: "FORWARD_BIAS_ACTIVATION",
	}
	ConvolutionKind_value = map[string]int32{
		"INVALID":                 0,
		"FORWARD":                 1,
		"BACKWARD_FILTER":         2,
		"BACKWARD_DATA":           3,
		"FORWARD_BIAS_ACTIVATION": 4,
	}
)

Enum value maps for ConvolutionKind.

View Source
var (
	AlgorithmProto_MathType_name = map[int32]string{
		0: "DEFAULT_MATH",
		1: "TENSOR_OP_MATH",
	}
	AlgorithmProto_MathType_value = map[string]int32{
		"DEFAULT_MATH":   0,
		"TENSOR_OP_MATH": 1,
	}
)

Enum value maps for AlgorithmProto_MathType.

View Source
var File_tensorflow_stream_executor_dnn_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ActivationMode

type ActivationMode int32

Describes a kind of non-linearity (threshold-like mathematical function).

const (
	ActivationMode_kNone    ActivationMode = 0
	ActivationMode_kSigmoid ActivationMode = 1
	// Rectified linear activation: f(x) = x < 0 ? 0 : x
	ActivationMode_kRelu ActivationMode = 2
	// Rectified linear activation; where upper maximum is 6.0.
	ActivationMode_kRelu6 ActivationMode = 3
	// Rectified linear activation; where upper maximum specified by
	// BatchDescriptor::value_max().
	ActivationMode_kReluX ActivationMode = 4
	ActivationMode_kTanh  ActivationMode = 5
	// Like ReluX; but passes all values in the range [-X,X].
	ActivationMode_kBandPass ActivationMode = 6
)

func (ActivationMode) Descriptor

func (ActivationMode) Enum

func (x ActivationMode) Enum() *ActivationMode

func (ActivationMode) EnumDescriptor deprecated

func (ActivationMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use ActivationMode.Descriptor instead.

func (ActivationMode) Number

func (ActivationMode) String

func (x ActivationMode) String() string

func (ActivationMode) Type

type AlgorithmConfigProto

type AlgorithmConfigProto struct {

	// Use oneof to emulate optional semantics in proto2 since older
	// version of proto3 cannot distinguish "unset field" and "default field".
	//
	// Types that are assignable to OptionalAlgorithm:
	//	*AlgorithmConfigProto_Algorithm
	OptionalAlgorithm isAlgorithmConfigProto_OptionalAlgorithm `protobuf_oneof:"optional_algorithm"`
	// Types that are assignable to OptionalAlgorithmNoScratch:
	//	*AlgorithmConfigProto_AlgorithmNoScratch
	OptionalAlgorithmNoScratch isAlgorithmConfigProto_OptionalAlgorithmNoScratch `protobuf_oneof:"optional_algorithm_no_scratch"`
	// Types that are assignable to OptionalScratchSize:
	//	*AlgorithmConfigProto_ScratchSize
	OptionalScratchSize isAlgorithmConfigProto_OptionalScratchSize `protobuf_oneof:"optional_scratch_size"`
	// contains filtered or unexported fields
}

Proto definition of AlgorithmConfig in "dnn.h". TODO(ruochengw): After cl/380702564 is submitted, add support for algorithm configs with cuDNN Frontend APIs.

func (*AlgorithmConfigProto) Descriptor deprecated

func (*AlgorithmConfigProto) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmConfigProto.ProtoReflect.Descriptor instead.

func (*AlgorithmConfigProto) GetAlgorithm

func (x *AlgorithmConfigProto) GetAlgorithm() *AlgorithmProto

func (*AlgorithmConfigProto) GetAlgorithmNoScratch

func (x *AlgorithmConfigProto) GetAlgorithmNoScratch() *AlgorithmProto

func (*AlgorithmConfigProto) GetOptionalAlgorithm

func (m *AlgorithmConfigProto) GetOptionalAlgorithm() isAlgorithmConfigProto_OptionalAlgorithm

func (*AlgorithmConfigProto) GetOptionalAlgorithmNoScratch

func (m *AlgorithmConfigProto) GetOptionalAlgorithmNoScratch() isAlgorithmConfigProto_OptionalAlgorithmNoScratch

func (*AlgorithmConfigProto) GetOptionalScratchSize

func (m *AlgorithmConfigProto) GetOptionalScratchSize() isAlgorithmConfigProto_OptionalScratchSize

func (*AlgorithmConfigProto) GetScratchSize

func (x *AlgorithmConfigProto) GetScratchSize() int64

func (*AlgorithmConfigProto) ProtoMessage

func (*AlgorithmConfigProto) ProtoMessage()

func (*AlgorithmConfigProto) ProtoReflect

func (x *AlgorithmConfigProto) ProtoReflect() protoreflect.Message

func (*AlgorithmConfigProto) Reset

func (x *AlgorithmConfigProto) Reset()

func (*AlgorithmConfigProto) String

func (x *AlgorithmConfigProto) String() string

type AlgorithmConfigProto_Algorithm

type AlgorithmConfigProto_Algorithm struct {
	Algorithm *AlgorithmProto `protobuf:"bytes,1,opt,name=algorithm,proto3,oneof"`
}

type AlgorithmConfigProto_AlgorithmNoScratch

type AlgorithmConfigProto_AlgorithmNoScratch struct {
	AlgorithmNoScratch *AlgorithmProto `protobuf:"bytes,2,opt,name=algorithm_no_scratch,json=algorithmNoScratch,proto3,oneof"`
}

type AlgorithmConfigProto_ScratchSize

type AlgorithmConfigProto_ScratchSize struct {
	ScratchSize int64 `protobuf:"varint,3,opt,name=scratch_size,json=scratchSize,proto3,oneof"`
}

type AlgorithmProto

type AlgorithmProto struct {
	AlgoId      int64                   `protobuf:"varint,1,opt,name=algo_id,json=algoId,proto3" json:"algo_id,omitempty"`
	MathType    AlgorithmProto_MathType `` /* 135-byte string literal not displayed */
	TuningKnobs map[int64]int64         `` /* 184-byte string literal not displayed */
	// Legacy algorithm enums and cuDNN Frontend engine numbers need to coexist in
	// the same proto medium-term, until we can be confident of no longer needing
	// the legacy cuDNN convolution API.  Once the migration is complete, we can
	// stop producing legacy algorithm enums and remove this field.
	IsCudnnFrontend bool `protobuf:"varint,5,opt,name=is_cudnn_frontend,json=isCudnnFrontend,proto3" json:"is_cudnn_frontend,omitempty"`
	// For ROCm only, it's impossible to re-query the required workspace size
	// after running the algorithm search, so we must store the workspace size
	// along with the choice of algorithm.  For consistency and convenience,
	// cuDNN uses this field in the same way, even though it would be possible to
	// re-query the workspace size from cuDNN at each use.
	//
	// Since this message is persisted in files, we need to be able to distinguish
	// 0 workspace size from unknown workspace size in an old message, so this is
	// a message field.
	WorkspaceSize *wrapperspb.UInt64Value `protobuf:"bytes,6,opt,name=workspace_size,json=workspaceSize,proto3" json:"workspace_size,omitempty"`
	// contains filtered or unexported fields
}

Generic algorithm representation.

func (*AlgorithmProto) Descriptor deprecated

func (*AlgorithmProto) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmProto.ProtoReflect.Descriptor instead.

func (*AlgorithmProto) GetAlgoId

func (x *AlgorithmProto) GetAlgoId() int64

func (*AlgorithmProto) GetIsCudnnFrontend

func (x *AlgorithmProto) GetIsCudnnFrontend() bool

func (*AlgorithmProto) GetMathType

func (x *AlgorithmProto) GetMathType() AlgorithmProto_MathType

func (*AlgorithmProto) GetTuningKnobs

func (x *AlgorithmProto) GetTuningKnobs() map[int64]int64

func (*AlgorithmProto) GetWorkspaceSize

func (x *AlgorithmProto) GetWorkspaceSize() *wrapperspb.UInt64Value

func (*AlgorithmProto) ProtoMessage

func (*AlgorithmProto) ProtoMessage()

func (*AlgorithmProto) ProtoReflect

func (x *AlgorithmProto) ProtoReflect() protoreflect.Message

func (*AlgorithmProto) Reset

func (x *AlgorithmProto) Reset()

func (*AlgorithmProto) String

func (x *AlgorithmProto) String() string

type AlgorithmProto_MathType

type AlgorithmProto_MathType int32
const (
	AlgorithmProto_DEFAULT_MATH AlgorithmProto_MathType = 0
	// The GPU may operate 4x4 matrix FMA.
	// See cuDNN's documentation for CUDNN_TENSOR_OP_MATH.
	AlgorithmProto_TENSOR_OP_MATH AlgorithmProto_MathType = 1
)

func (AlgorithmProto_MathType) Descriptor

func (AlgorithmProto_MathType) Enum

func (AlgorithmProto_MathType) EnumDescriptor deprecated

func (AlgorithmProto_MathType) EnumDescriptor() ([]byte, []int)

Deprecated: Use AlgorithmProto_MathType.Descriptor instead.

func (AlgorithmProto_MathType) Number

func (AlgorithmProto_MathType) String

func (x AlgorithmProto_MathType) String() string

func (AlgorithmProto_MathType) Type

type ConvolutionDescriptorProto

type ConvolutionDescriptorProto struct {
	Paddings  []int64 `protobuf:"varint,1,rep,packed,name=paddings,proto3" json:"paddings,omitempty"`
	Strides   []int64 `protobuf:"varint,2,rep,packed,name=strides,proto3" json:"strides,omitempty"`
	Dilations []int64 `protobuf:"varint,3,rep,packed,name=dilations,proto3" json:"dilations,omitempty"`
	// The "accumulator" type. For example, use F32 as an accumulator for F16
	// convolutions.
	// See cuDNN's cudnnConvolutionMode_t.
	ComputeMode DataType `` /* 129-byte string literal not displayed */
	// See cuDNN's group count.
	GroupCount      int32           `protobuf:"varint,5,opt,name=group_count,json=groupCount,proto3" json:"group_count,omitempty"`
	ConvolutionMode ConvolutionMode `` /* 148-byte string literal not displayed */
	// Tensorflow node name, same as in NodeDef, for debugging purposes.
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Convolution-specific parameters.

func (*ConvolutionDescriptorProto) Descriptor deprecated

func (*ConvolutionDescriptorProto) Descriptor() ([]byte, []int)

Deprecated: Use ConvolutionDescriptorProto.ProtoReflect.Descriptor instead.

func (*ConvolutionDescriptorProto) GetComputeMode

func (x *ConvolutionDescriptorProto) GetComputeMode() DataType

func (*ConvolutionDescriptorProto) GetConvolutionMode

func (x *ConvolutionDescriptorProto) GetConvolutionMode() ConvolutionMode

func (*ConvolutionDescriptorProto) GetDilations

func (x *ConvolutionDescriptorProto) GetDilations() []int64

func (*ConvolutionDescriptorProto) GetGroupCount

func (x *ConvolutionDescriptorProto) GetGroupCount() int32

func (*ConvolutionDescriptorProto) GetName

func (x *ConvolutionDescriptorProto) GetName() string

func (*ConvolutionDescriptorProto) GetPaddings

func (x *ConvolutionDescriptorProto) GetPaddings() []int64

func (*ConvolutionDescriptorProto) GetStrides

func (x *ConvolutionDescriptorProto) GetStrides() []int64

func (*ConvolutionDescriptorProto) ProtoMessage

func (*ConvolutionDescriptorProto) ProtoMessage()

func (*ConvolutionDescriptorProto) ProtoReflect

func (*ConvolutionDescriptorProto) Reset

func (x *ConvolutionDescriptorProto) Reset()

func (*ConvolutionDescriptorProto) String

func (x *ConvolutionDescriptorProto) String() string

type ConvolutionKind

type ConvolutionKind int32
const (
	ConvolutionKind_INVALID                 ConvolutionKind = 0
	ConvolutionKind_FORWARD                 ConvolutionKind = 1
	ConvolutionKind_BACKWARD_FILTER         ConvolutionKind = 2
	ConvolutionKind_BACKWARD_DATA           ConvolutionKind = 3
	ConvolutionKind_FORWARD_BIAS_ACTIVATION ConvolutionKind = 4
)

func (ConvolutionKind) Descriptor

func (ConvolutionKind) Enum

func (x ConvolutionKind) Enum() *ConvolutionKind

func (ConvolutionKind) EnumDescriptor deprecated

func (ConvolutionKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use ConvolutionKind.Descriptor instead.

func (ConvolutionKind) Number

func (ConvolutionKind) String

func (x ConvolutionKind) String() string

func (ConvolutionKind) Type

type ConvolutionMode

type ConvolutionMode int32

Describe the math definition for the conv op. The popular behavior is actually called cross-correlation in math, despite the operation is often referred as convolution. See cuDNN cudnnConvolutionMode_t.

const (
	ConvolutionMode_CROSS_CORRELATION ConvolutionMode = 0
	ConvolutionMode_CONVOLUTION       ConvolutionMode = 1
)

func (ConvolutionMode) Descriptor

func (ConvolutionMode) Enum

func (x ConvolutionMode) Enum() *ConvolutionMode

func (ConvolutionMode) EnumDescriptor deprecated

func (ConvolutionMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use ConvolutionMode.Descriptor instead.

func (ConvolutionMode) Number

func (ConvolutionMode) String

func (x ConvolutionMode) String() string

func (ConvolutionMode) Type

type DataLayout

type DataLayout int32

Describes how a convolution input or output layer's data is formatted.

const (
	// Naming convention:
	// Y <-> row or height
	// X <-> column or width
	// Batch <-> batch, or N
	// Depth <-> feature, or channel
	// TODO(timshen): turn them into cuDNN names, e.g. kNCHW.
	//
	// Note: In cudnn, kBatchDepthYX4 and kBatchDepthYX32 are the same layout
	// (namely, NCHW_VECT_C).  It differentiates between these two by using a
	// different data type (int8x4 vs int8x32).  In StreamExecutor we use
	// different layouts for these, because we don't usually pass an explicit data
	// type to StreamExecutor functions.
	DataLayout_kYXDepthBatch   DataLayout = 0
	DataLayout_kYXBatchDepth   DataLayout = 1
	DataLayout_kBatchYXDepth   DataLayout = 2 // cuDNN's NHWC layout
	DataLayout_kBatchDepthYX   DataLayout = 3 // cuDNN's NCHW layout
	DataLayout_kBatchDepthYX4  DataLayout = 4 // cuDNN's NCHW_VECT_C with 4-elem vectors (e.g. int8x4)
	DataLayout_kBatchDepthYX32 DataLayout = 5 // cuDNN's NCHW_VECT_C with 32-elem vects (e.g. int8x32)
)

func (DataLayout) Descriptor

func (DataLayout) Descriptor() protoreflect.EnumDescriptor

func (DataLayout) Enum

func (x DataLayout) Enum() *DataLayout

func (DataLayout) EnumDescriptor deprecated

func (DataLayout) EnumDescriptor() ([]byte, []int)

Deprecated: Use DataLayout.Descriptor instead.

func (DataLayout) Number

func (x DataLayout) Number() protoreflect.EnumNumber

func (DataLayout) String

func (x DataLayout) String() string

func (DataLayout) Type

type DataType

type DataType int32

Specifies the data type used by an operation.

const (
	DataType_kFloat         DataType = 0
	DataType_kDouble        DataType = 1
	DataType_kHalf          DataType = 2
	DataType_kInt8          DataType = 3
	DataType_kInt32         DataType = 4
	DataType_kComplexFloat  DataType = 5
	DataType_kComplexDouble DataType = 6
	DataType_kBF16          DataType = 7
)

func (DataType) Descriptor

func (DataType) Descriptor() protoreflect.EnumDescriptor

func (DataType) Enum

func (x DataType) Enum() *DataType

func (DataType) EnumDescriptor deprecated

func (DataType) EnumDescriptor() ([]byte, []int)

Deprecated: Use DataType.Descriptor instead.

func (DataType) Number

func (x DataType) Number() protoreflect.EnumNumber

func (DataType) String

func (x DataType) String() string

func (DataType) Type

type FilterLayout

type FilterLayout int32

Describes how a convolution filter is laid out in the memory.

const (
	// Naming convention:
	// Y <-> row or height
	// X <-> column or width
	// Output <-> output feature, or N
	// Input <-> input feature, or N
	// TODO(timshen): turn them into cuDNN names, e.g. kNCHW.
	FilterLayout_kOutputInputYX   FilterLayout = 0 // cuDNN's NCHW layout
	FilterLayout_kOutputYXInput   FilterLayout = 1 // cuDNN's NHWC layout
	FilterLayout_kOutputInputYX4  FilterLayout = 2 // cuDNN's NCHW_VECT_C layout with 4-elem vectors
	FilterLayout_kOutputInputYX32 FilterLayout = 5 // cuDNN's NCHW_VECT_C layout with 32-elem vectors
	FilterLayout_kInputYXOutput   FilterLayout = 3
	FilterLayout_kYXInputOutput   FilterLayout = 4
)

func (FilterLayout) Descriptor

func (FilterLayout) Enum

func (x FilterLayout) Enum() *FilterLayout

func (FilterLayout) EnumDescriptor deprecated

func (FilterLayout) EnumDescriptor() ([]byte, []int)

Deprecated: Use FilterLayout.Descriptor instead.

func (FilterLayout) Number

func (FilterLayout) String

func (x FilterLayout) String() string

func (FilterLayout) Type

type TensorDescriptorProto

type TensorDescriptorProto struct {
	Dimensions []int64  `protobuf:"varint,1,rep,packed,name=dimensions,proto3" json:"dimensions,omitempty"`
	DataType   DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=stream_executor.dnn.DataType" json:"data_type,omitempty"`
	// Types that are assignable to LayoutOneof:
	//	*TensorDescriptorProto_DataLayout
	//	*TensorDescriptorProto_FilterLayout
	LayoutOneof isTensorDescriptorProto_LayoutOneof `protobuf_oneof:"layout_oneof"`
	// contains filtered or unexported fields
}

Generic tensor representation.

func (*TensorDescriptorProto) Descriptor deprecated

func (*TensorDescriptorProto) Descriptor() ([]byte, []int)

Deprecated: Use TensorDescriptorProto.ProtoReflect.Descriptor instead.

func (*TensorDescriptorProto) GetDataLayout

func (x *TensorDescriptorProto) GetDataLayout() DataLayout

func (*TensorDescriptorProto) GetDataType

func (x *TensorDescriptorProto) GetDataType() DataType

func (*TensorDescriptorProto) GetDimensions

func (x *TensorDescriptorProto) GetDimensions() []int64

func (*TensorDescriptorProto) GetFilterLayout

func (x *TensorDescriptorProto) GetFilterLayout() FilterLayout

func (*TensorDescriptorProto) GetLayoutOneof

func (m *TensorDescriptorProto) GetLayoutOneof() isTensorDescriptorProto_LayoutOneof

func (*TensorDescriptorProto) ProtoMessage

func (*TensorDescriptorProto) ProtoMessage()

func (*TensorDescriptorProto) ProtoReflect

func (x *TensorDescriptorProto) ProtoReflect() protoreflect.Message

func (*TensorDescriptorProto) Reset

func (x *TensorDescriptorProto) Reset()

func (*TensorDescriptorProto) String

func (x *TensorDescriptorProto) String() string

type TensorDescriptorProto_DataLayout

type TensorDescriptorProto_DataLayout struct {
	DataLayout DataLayout `protobuf:"varint,3,opt,name=data_layout,json=dataLayout,proto3,enum=stream_executor.dnn.DataLayout,oneof"`
}

type TensorDescriptorProto_FilterLayout

type TensorDescriptorProto_FilterLayout struct {
	FilterLayout FilterLayout `protobuf:"varint,4,opt,name=filter_layout,json=filterLayout,proto3,enum=stream_executor.dnn.FilterLayout,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL