Loading [MathJax]/extensions/TeX/AMSsymbols.js
Open3D (C++ API)  0.19.0
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
LinalgHeadersCUDA.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.open3d.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 // This file contains headers for BLAS/LAPACK implementations for CUDA.
9 //
10 // For developers, please make sure that this file is not ultimately included in
11 // Open3D.h.
12 
13 #pragma once
14 
15 #ifdef BUILD_CUDA_MODULE
16 #include <cublas_v2.h>
17 #include <cusolverDn.h>
18 #include <cusolver_common.h>
19 #include <fmt/core.h>
20 #include <fmt/format.h>
21 
22 namespace fmt {
23 
24 template <>
25 struct formatter<cusolverStatus_t> {
26  template <typename FormatContext>
27  auto format(const cusolverStatus_t& c, FormatContext& ctx) const
28  -> decltype(ctx.out()) {
29  const char* text = nullptr;
30  switch (c) {
31  case CUSOLVER_STATUS_SUCCESS:
32  text = "CUSOLVER_STATUS_SUCCESS";
33  break;
34  case CUSOLVER_STATUS_NOT_INITIALIZED:
35  text = "CUSOLVER_STATUS_NOT_INITIALIZED";
36  break;
37  case CUSOLVER_STATUS_ALLOC_FAILED:
38  text = "CUSOLVER_STATUS_ALLOC_FAILED";
39  break;
40  case CUSOLVER_STATUS_INVALID_VALUE:
41  text = "CUSOLVER_STATUS_INVALID_VALUE";
42  break;
43  case CUSOLVER_STATUS_ARCH_MISMATCH:
44  text = "CUSOLVER_STATUS_ARCH_MISMATCH";
45  break;
46  case CUSOLVER_STATUS_MAPPING_ERROR:
47  text = "CUSOLVER_STATUS_MAPPING_ERROR";
48  break;
49  case CUSOLVER_STATUS_EXECUTION_FAILED:
50  text = "CUSOLVER_STATUS_EXECUTION_FAILED";
51  break;
52  case CUSOLVER_STATUS_INTERNAL_ERROR:
53  text = "CUSOLVER_STATUS_INTERNAL_ERROR";
54  break;
55  case CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED:
56  text = "CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED";
57  break;
58  case CUSOLVER_STATUS_NOT_SUPPORTED:
59  text = "CUSOLVER_STATUS_NOT_SUPPORTED";
60  break;
61  case CUSOLVER_STATUS_ZERO_PIVOT:
62  text = "CUSOLVER_STATUS_ZERO_PIVOT";
63  break;
64  case CUSOLVER_STATUS_INVALID_LICENSE:
65  text = "CUSOLVER_STATUS_INVALID_LICENSE";
66  break;
67  case CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED:
68  text = "CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED";
69  break;
70  case CUSOLVER_STATUS_IRS_PARAMS_INVALID:
71  text = "CUSOLVER_STATUS_IRS_PARAMS_INVALID";
72  break;
73  case CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC:
74  text = "CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC";
75  break;
76  case CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE:
77  text = "CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE";
78  break;
79  case CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER:
80  text = "CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER";
81  break;
82  case CUSOLVER_STATUS_IRS_INTERNAL_ERROR:
83  text = "CUSOLVER_STATUS_IRS_INTERNAL_ERROR";
84  break;
85  case CUSOLVER_STATUS_IRS_NOT_SUPPORTED:
86  text = "CUSOLVER_STATUS_IRS_NOT_SUPPORTED";
87  break;
88  case CUSOLVER_STATUS_IRS_OUT_OF_RANGE:
89  text = "CUSOLVER_STATUS_IRS_OUT_OF_RANGE";
90  break;
91  case CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES:
92  text = "CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_"
93  "GMRES";
94  break;
95  case CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED:
96  text = "CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED";
97  break;
98  case CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED:
99  text = "CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED";
100  break;
101  case CUSOLVER_STATUS_IRS_MATRIX_SINGULAR:
102  text = "CUSOLVER_STATUS_IRS_MATRIX_SINGULAR";
103  break;
104  case CUSOLVER_STATUS_INVALID_WORKSPACE:
105  text = "CUSOLVER_STATUS_INVALID_WORKSPACE";
106  break;
107  default:
108  text = "CUSOLVER_STATUS_UNKNOWN";
109  break;
110  }
111  return format_to(ctx.out(), text);
112  }
113 
114  template <typename ParseContext>
115  constexpr auto parse(ParseContext& ctx) -> decltype(ctx.begin()) {
116  return ctx.begin();
117  }
118 };
119 
120 } // namespace fmt
121 
122 #endif
filament::Texture::InternalFormat format
Definition: FilamentResourceManager.cpp:195
Definition: DLPack.h:195