OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
pch.h File Reference
#include <algorithm>
#include <ranges>
#include <span>
#include <numbers>
#include <source_location>
#include <execution>
#include <charconv>
#include <format>
#include <string>
#include <string_view>
#include <cassert>
#include <cmath>
#include <ctime>
#include <filesystem>
#include <functional>
#include <iomanip>
#include <iostream>
#include <time.h>
#include <iterator>
#include <map>
#include <numeric>
#include <vector>
#include <unordered_map>
#include <unordered_set>
#include <exception>
#include <memory>
#include <random>
#include <regex>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <stdexcept>
#include <stdlib.h>
#include <set>
#include <sstream>
#include <omp.h>
#include <Eigen/Core>
#include <unsupported/Eigen/CXX11/Tensor>
#include <Eigen/src/Core/util/DisableStupidWarnings.h>
#include "json.h"

Go to the source code of this file.

Classes

struct  __nv_bfloat16
 
struct  __half
 
struct  cudnnTensorStruct
 

Namespaces

namespace  opennn
 

Macros

#define EIGEN_USE_THREADS
 
#define EIGEN_MAX_ALIGN_BYTES   64
 
#define EIGEN_NO_DEBUG
 
#define NOMINMAX
 
#define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
 
#define _CRT_SECURE_NO_WARNINGS
 
#define EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
 
#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING
 

Typedefs

using cudaStream_t = void*
 
using cudaEvent_t = void*
 
using cublasHandle_t = void*
 
using cublasLtHandle_t = void*
 
using cudnnHandle_t = void*
 
using cudnnTensorDescriptor_t = cudnnTensorStruct*
 
using cudnnFilterDescriptor_t = void*
 
using cudnnConvolutionDescriptor_t = void*
 
using cudnnPoolingDescriptor_t = void*
 
using cudnnActivationDescriptor_t = void*
 
using cudnnDropoutDescriptor_t = void*
 
using cudnnOpTensorDescriptor_t = void*
 
using opennn::bfloat16 = __nv_bfloat16
 
using MatrixR = Matrix<float, Dynamic, Dynamic, Layout>
 
using MatrixI = Matrix<Index, Dynamic, Dynamic, Layout>
 
using MatrixB = Matrix<bool, Dynamic, Dynamic, Layout>
 
using VectorR = Matrix<float, Dynamic, 1>
 
using VectorI = Matrix<Index, Dynamic, 1>
 
using VectorB = Matrix<bool, Dynamic, 1>
 
using VectorMap = Map<VectorR, AlignedMax>
 
using MatrixMap = Map<MatrixR, Layout | AlignedMax>
 
using Tensor0 = Tensor<float, 0, Layout | AlignedMax>
 
using Tensor2 = Tensor<float, 2, Layout | AlignedMax>
 
using Tensor3 = Tensor<float, 3, Layout | AlignedMax>
 
using Tensor4 = Tensor<float, 4, Layout | AlignedMax>
 
template<int Rank>
using TensorR = Tensor<float, Rank, Layout | AlignedMax>
 
using TensorMap2 = TensorMap<Tensor<float, 2, Layout | AlignedMax>, AlignedMax>
 
using TensorMap3 = TensorMap<Tensor<float, 3, Layout | AlignedMax>, AlignedMax>
 
using TensorMap4 = TensorMap<Tensor<float, 4, Layout | AlignedMax>, AlignedMax>
 
template<int Rank>
using TensorMapR = TensorMap<Tensor<float, Rank, Layout | AlignedMax>, AlignedMax>
 

Enumerations

enum  cudaDataType_t {
  CUDA_R_32F = 0 , CUDA_R_16F = 2 , CUDA_R_8I = 3 , CUDA_R_32I = 10 ,
  CUDA_R_16BF = 14
}
 
enum  cublasComputeType_t { CUBLAS_COMPUTE_32F = 0 , CUBLAS_COMPUTE_32F_FAST_16BF = 65 , CUBLAS_COMPUTE_32F_FAST_TF32 = 68 }
 
enum  cublasOperation_t { CUBLAS_OP_N = 0 , CUBLAS_OP_T = 1 }
 
enum  cublasLtEpilogue_t { CUBLASLT_EPILOGUE_DEFAULT = 1 , CUBLASLT_EPILOGUE_BIAS = 4 , CUBLASLT_EPILOGUE_RELU_BIAS = 132 }
 
enum  cudnnDataType_t {
  CUDNN_DATA_FLOAT = 0 , CUDNN_DATA_HALF = 2 , CUDNN_DATA_INT8 = 3 , CUDNN_DATA_INT32 = 4 ,
  CUDNN_DATA_BFLOAT16 = 14
}
 
enum  cudnnActivationMode_t {
  CUDNN_ACTIVATION_IDENTITY = 0 , CUDNN_ACTIVATION_SIGMOID = 1 , CUDNN_ACTIVATION_RELU = 2 , CUDNN_ACTIVATION_TANH = 3 ,
  CUDNN_ACTIVATION_ELU = 4
}
 
enum  cudnnPoolingMode_t { CUDNN_POOLING_MAX = 0 }
 
enum  cudnnBatchNormMode_t { CUDNN_BATCHNORM_PER_ACTIVATION = 0 }
 
enum  cudnnConvolutionFwdAlgo_t { CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM = 0 }
 
enum  cudnnConvolutionBwdDataAlgo_t { CUDNN_CONVOLUTION_BWD_DATA_ALGO_0 = 0 }
 
enum  cudnnConvolutionBwdFilterAlgo_t { CUDNN_CONVOLUTION_BWD_FILTER_ALGO_0 = 0 }
 

Functions

void opennn::throw_if (bool condition, const string &message, const source_location &loc=source_location::current())
 
template<typename T>
ostream & opennn::operator<< (ostream &os, const vector< T > &vec)
 

Variables

constexpr float opennn::EPSILON = numeric_limits<float>::epsilon()
 
constexpr float opennn::MAX = numeric_limits<float>::max()
 
constexpr float opennn::NEG_INFINITY = -numeric_limits<float>::infinity()
 
constexpr float opennn::QUIET_NAN = numeric_limits<float>::quiet_NaN()
 
constexpr float opennn::SOFTMAX_MASK_VALUE = float(-1e9f)
 
constexpr int Layout = Eigen::RowMajor
 

Macro Definition Documentation

◆ _CRT_SECURE_NO_WARNINGS

#define _CRT_SECURE_NO_WARNINGS

◆ _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING

#define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING

◆ _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING

#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING

◆ EIGEN_MAX_ALIGN_BYTES

#define EIGEN_MAX_ALIGN_BYTES   64

◆ EIGEN_NO_DEBUG

#define EIGEN_NO_DEBUG

◆ EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS

#define EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS

◆ EIGEN_USE_THREADS

#define EIGEN_USE_THREADS

◆ NOMINMAX

#define NOMINMAX

Typedef Documentation

◆ cublasHandle_t

using cublasHandle_t = void*

◆ cublasLtHandle_t

using cublasLtHandle_t = void*

◆ cudaEvent_t

using cudaEvent_t = void*

◆ cudaStream_t

using cudaStream_t = void*

◆ cudnnActivationDescriptor_t

◆ cudnnConvolutionDescriptor_t

◆ cudnnDropoutDescriptor_t

using cudnnDropoutDescriptor_t = void*

◆ cudnnFilterDescriptor_t

using cudnnFilterDescriptor_t = void*

◆ cudnnHandle_t

using cudnnHandle_t = void*

◆ cudnnOpTensorDescriptor_t

◆ cudnnPoolingDescriptor_t

using cudnnPoolingDescriptor_t = void*

◆ cudnnTensorDescriptor_t

◆ MatrixB

using MatrixB = Matrix<bool, Dynamic, Dynamic, Layout>

◆ MatrixI

using MatrixI = Matrix<Index, Dynamic, Dynamic, Layout>

◆ MatrixMap

using MatrixMap = Map<MatrixR, Layout | AlignedMax>

◆ MatrixR

using MatrixR = Matrix<float, Dynamic, Dynamic, Layout>

◆ Tensor0

using Tensor0 = Tensor<float, 0, Layout | AlignedMax>

◆ Tensor2

using Tensor2 = Tensor<float, 2, Layout | AlignedMax>

◆ Tensor3

using Tensor3 = Tensor<float, 3, Layout | AlignedMax>

◆ Tensor4

using Tensor4 = Tensor<float, 4, Layout | AlignedMax>

◆ TensorMap2

using TensorMap2 = TensorMap<Tensor<float, 2, Layout | AlignedMax>, AlignedMax>

◆ TensorMap3

using TensorMap3 = TensorMap<Tensor<float, 3, Layout | AlignedMax>, AlignedMax>

◆ TensorMap4

using TensorMap4 = TensorMap<Tensor<float, 4, Layout | AlignedMax>, AlignedMax>

◆ TensorMapR

template<int Rank>
using TensorMapR = TensorMap<Tensor<float, Rank, Layout | AlignedMax>, AlignedMax>

◆ TensorR

template<int Rank>
using TensorR = Tensor<float, Rank, Layout | AlignedMax>

◆ VectorB

using VectorB = Matrix<bool, Dynamic, 1>

◆ VectorI

using VectorI = Matrix<Index, Dynamic, 1>

◆ VectorMap

using VectorMap = Map<VectorR, AlignedMax>

◆ VectorR

using VectorR = Matrix<float, Dynamic, 1>

Enumeration Type Documentation

◆ cublasComputeType_t

Enumerator
CUBLAS_COMPUTE_32F 
CUBLAS_COMPUTE_32F_FAST_16BF 
CUBLAS_COMPUTE_32F_FAST_TF32 

◆ cublasLtEpilogue_t

Enumerator
CUBLASLT_EPILOGUE_DEFAULT 
CUBLASLT_EPILOGUE_BIAS 
CUBLASLT_EPILOGUE_RELU_BIAS 

◆ cublasOperation_t

Enumerator
CUBLAS_OP_N 
CUBLAS_OP_T 

◆ cudaDataType_t

Enumerator
CUDA_R_32F 
CUDA_R_16F 
CUDA_R_8I 
CUDA_R_32I 
CUDA_R_16BF 

◆ cudnnActivationMode_t

Enumerator
CUDNN_ACTIVATION_IDENTITY 
CUDNN_ACTIVATION_SIGMOID 
CUDNN_ACTIVATION_RELU 
CUDNN_ACTIVATION_TANH 
CUDNN_ACTIVATION_ELU 

◆ cudnnBatchNormMode_t

Enumerator
CUDNN_BATCHNORM_PER_ACTIVATION 

◆ cudnnConvolutionBwdDataAlgo_t

Enumerator
CUDNN_CONVOLUTION_BWD_DATA_ALGO_0 

◆ cudnnConvolutionBwdFilterAlgo_t

Enumerator
CUDNN_CONVOLUTION_BWD_FILTER_ALGO_0 

◆ cudnnConvolutionFwdAlgo_t

Enumerator
CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM 

◆ cudnnDataType_t

Enumerator
CUDNN_DATA_FLOAT 
CUDNN_DATA_HALF 
CUDNN_DATA_INT8 
CUDNN_DATA_INT32 
CUDNN_DATA_BFLOAT16 

◆ cudnnPoolingMode_t

Enumerator
CUDNN_POOLING_MAX 

Variable Documentation

◆ Layout

int Layout = Eigen::RowMajor
constexpr