aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/stream_executor/dnn.h
diff options
context:
space:
mode:
authorGravatar James Qin <jamesqin@google.com>2018-04-06 11:56:08 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-04-06 12:00:45 -0700
commit4f7943f7358fc69af62dc280c6f6ba549ebe2167 (patch)
tree19bdd3dddebeb7d26f9685328d0598bb58347bc0 /tensorflow/stream_executor/dnn.h
parentf15c117c4f4d51a6660bf14b6d6cf73c52692cfb (diff)
Support RNN profiling in StreamExecutor for CUDA GPUs.
This change hasn't applied autotune on TF Cudnn kernels, only provides lower level support. PiperOrigin-RevId: 191919566
Diffstat (limited to 'tensorflow/stream_executor/dnn.h')
-rw-r--r--tensorflow/stream_executor/dnn.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/tensorflow/stream_executor/dnn.h b/tensorflow/stream_executor/dnn.h
index b41536e638..43cfd313c1 100644
--- a/tensorflow/stream_executor/dnn.h
+++ b/tensorflow/stream_executor/dnn.h
@@ -1195,6 +1195,9 @@ class DnnSupport {
bool with_winograd_nonfused, int cc_major, int cc_minor,
std::vector<AlgorithmDesc>* out_algorithms);
+ // Returns a list of supported rnn algorithms.
+ virtual bool GetRnnAlgorithms(std::vector<AlgorithmDesc>* out_algorithms);
+
// Version of DoConvolve that uses pre-quantized 8 bit coefficients.
// coefficient_scales specifies the scaling of each column of coefficients:
// original float coefficient[row * num_columns + column] =
@@ -2001,6 +2004,7 @@ class DnnSupport {
dnn::RnnInputMode input_mode,
dnn::RnnDirectionMode direction_mode,
dnn::RnnMode rnn_mode, dnn::DataType data_type,
+ const dnn::AlgorithmConfig& algorithm_config,
float dropout, uint64 seed,
ScratchAllocator* state_allocator) {
return port::Status{port::error::UNIMPLEMENTED,
@@ -2076,7 +2080,8 @@ class DnnSupport {
DeviceMemory<Eigen::half>* output_c_data,
bool is_training,
ScratchAllocator* reserve_space_allocator,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}
@@ -2096,7 +2101,8 @@ class DnnSupport {
DeviceMemory<float>* output_c_data,
bool is_training,
ScratchAllocator* reserve_space_allocator,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}
@@ -2116,7 +2122,8 @@ class DnnSupport {
DeviceMemory<double>* output_c_data,
bool is_training,
ScratchAllocator* reserve_space_allocator,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}
// Enqueue a backward operation of the RNN model onto the stream.
@@ -2183,7 +2190,8 @@ class DnnSupport {
DeviceMemory<Eigen::half>* input_c_backprop_data,
DeviceMemory<Eigen::half>* params_backprop_data,
DeviceMemory<uint8>* reserve_space_data,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}
@@ -2210,7 +2218,8 @@ class DnnSupport {
DeviceMemory<float>* input_c_backprop_data,
DeviceMemory<float>* params_backprop_data,
DeviceMemory<uint8>* reserve_space_data,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}
@@ -2237,7 +2246,8 @@ class DnnSupport {
DeviceMemory<double>* input_c_backprop_data,
DeviceMemory<double>* params_backprop_data,
DeviceMemory<uint8>* reserve_space_data,
- ScratchAllocator* workspace_allocator) {
+ ScratchAllocator* workspace_allocator,
+ dnn::ProfileResult* output_profile_result) {
return false;
}