Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
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
22namespace fmt {
23
24template <>
25struct 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