LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
dnn_enums.hpp
Go to the documentation of this file.
1 // Copyright (c) 2014-2023, Lawrence Livermore National Security, LLC.
3 // Produced at the Lawrence Livermore National Laboratory.
4 // Written by the LBANN Research Team (B. Van Essen, et al.) listed in
5 // the CONTRIBUTORS file. <lbann-dev@llnl.gov>
6 //
7 // LLNL-CODE-697807.
8 // All rights reserved.
9 //
10 // This file is part of LBANN: Livermore Big Artificial Neural Network
11 // Toolkit. For details, see http://software.llnl.gov/LBANN or
12 // https://github.com/LLNL/LBANN.
13 //
14 // Licensed under the Apache License, Version 2.0 (the "Licensee"); you
15 // may not use this file except in compliance with the License. You may
16 // obtain a copy of the License at:
17 //
18 // http://www.apache.org/licenses/LICENSE-2.0
19 //
20 // Unless required by applicable law or agreed to in writing, software
21 // distributed under the License is distributed on an "AS IS" BASIS,
22 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
23 // implied. See the License for the specific language governing
24 // permissions and limitations under the license.
26 #ifndef LBANN_UTILS_DNN_ENUMS_HPP
27 #define LBANN_UTILS_DNN_ENUMS_HPP
28 
29 namespace lbann {
30 
32 enum class fwd_conv_alg
33 {
36  GEMM,
37  DIRECT,
38  FFT,
39  FFT_TILING,
40  WINOGRAD,
42 }; // enum class fwd_conv_alg
43 
46 {
49  FFT,
50  FFT_TILING,
51  WINOGRAD,
54 }; // enum class bwd_conv_alg
55 
58 {
61  FFT,
63  WINOGRAD,
65  FFT_TILING,
67 }; // enum class bwd_conv_filter
68 
70 // Only one implemented in cudnn currently:
71 // https://docs.nvidia.com/deeplearning/cudnn/api/index.html#cudnnLRNCrossChannelForward
72 enum class lrn_mode
73 {
75 }; // enum class lrn_mode
76 
78 enum class pooling_mode
79 {
80  MAX,
84 }; // enum class pooling_mode
85 
87 enum class softmax_mode
88 {
89  INVALID,
96  INSTANCE,
106  CHANNEL
107 }; // enum class softmax_mode
108 
110 enum class softmax_alg
111 {
112  FAST,
113  ACCURATE,
114  LOG,
115 }; // enum class softmax_alg
116 
117 } // namespace lbann
118 #endif // LBANN_UTILS_DNN_ENUMS_HPP
Position-wise softmax.
Sample-wise softmax.
bwd_data_conv_alg
Which backward convolution algorithm to use.
Definition: dnn_enums.hpp:45
bwd_filter_conv_alg
Which backward convolution filter algorithm to use.
Definition: dnn_enums.hpp:57
softmax_alg
Internal LBANN names for supported softmax algorithms.
Definition: dnn_enums.hpp:110
pooling_mode
Which pooling mode to use.
Definition: dnn_enums.hpp:78
fwd_conv_alg
Which forward convolution algorithm to use.
Definition: dnn_enums.hpp:32
lrn_mode
Internal LBANN names for supported LRN layer modes.
Definition: dnn_enums.hpp:72
softmax_mode
Which tensor dimensions to apply softmax over.
Definition: dnn_enums.hpp:87