bullerwins's picture
Upload folder using huggingface_hub
eb00867 verified
raw
history blame
8.83 kB
/*
* Copyright 2014 NVIDIA Corporation. All rights reserved.
*
* NOTICE TO LICENSEE:
*
* This source code and/or documentation ("Licensed Deliverables") are
* subject to NVIDIA intellectual property rights under U.S. and
* international Copyright laws.
*
* These Licensed Deliverables contained herein is PROPRIETARY and
* CONFIDENTIAL to NVIDIA and is being provided under the terms and
* conditions of a form of NVIDIA software license agreement by and
* between NVIDIA and Licensee ("License Agreement") or electronically
* accepted by Licensee. Notwithstanding any terms or conditions to
* the contrary in the License Agreement, reproduction or disclosure
* of the Licensed Deliverables to any third party without the express
* written consent of NVIDIA is prohibited.
*
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
* SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
* PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
* DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
* NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
* SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THESE LICENSED DELIVERABLES.
*
* U.S. Government End Users. These Licensed Deliverables are a
* "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
* 1995), consisting of "commercial computer software" and "commercial
* computer software documentation" as such terms are used in 48
* C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
* only as a commercial end item. Consistent with 48 C.F.R.12.212 and
* 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
* U.S. Government End Users acquire the Licensed Deliverables with
* only those rights set forth herein.
*
* Any use of the Licensed Deliverables in individual and commercial
* software must include, in the user documentation and internal
* comments to the code, the above Disclaimer and U.S. Government End
* Users Notice.
*/
#if !defined(CUSOLVER_COMMON_H_)
#define CUSOLVER_COMMON_H_
#include "library_types.h"
#ifndef CUSOLVERAPI
#ifdef _WIN32
#define CUSOLVERAPI __stdcall
#else
#define CUSOLVERAPI
#endif
#endif
#if defined(_MSC_VER)
typedef __int64 int64_t;
#else
#include <inttypes.h>
#endif
typedef int cusolver_int_t;
#define CUSOLVER_VER_MAJOR 11
#define CUSOLVER_VER_MINOR 4
#define CUSOLVER_VER_PATCH 5
#define CUSOLVER_VER_BUILD 107
#define CUSOLVER_VERSION \
(CUSOLVER_VER_MAJOR * 1000 + CUSOLVER_VER_MINOR * 100 + CUSOLVER_VER_PATCH)
/*
* disable this macro to proceed old API
*/
#define DISABLE_CUSOLVER_DEPRECATED
//------------------------------------------------------------------------------
#if !defined(_MSC_VER)
#define CUSOLVER_CPP_VERSION __cplusplus
#elif _MSC_FULL_VER >= 190024210 // Visual Studio 2015 Update 3
#define CUSOLVER_CPP_VERSION _MSVC_LANG
#else
#define CUSOLVER_CPP_VERSION 0
#endif
//------------------------------------------------------------------------------
#if !defined(DISABLE_CUSOLVER_DEPRECATED)
#if CUSOLVER_CPP_VERSION >= 201402L
#define CUSOLVER_DEPRECATED(new_func) \
[[deprecated("please use " #new_func " instead")]]
#elif defined(_MSC_VER)
#define CUSOLVER_DEPRECATED(new_func) \
__declspec(deprecated("please use " #new_func " instead"))
#elif defined(__INTEL_COMPILER) || defined(__clang__) || \
(defined(__GNUC__) && \
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)))
#define CUSOLVER_DEPRECATED(new_func) \
__attribute__((deprecated("please use " #new_func " instead")))
#elif defined(__GNUC__) || defined(__xlc__)
#define CUSOLVER_DEPRECATED(new_func) __attribute__((deprecated))
#else
#define CUSOLVER_DEPRECATED(new_func)
#endif // defined(__cplusplus) && __cplusplus >= 201402L
//------------------------------------------------------------------------------
#if CUSOLVER_CPP_VERSION >= 201703L
#define CUSOLVER_DEPRECATED_ENUM(new_enum) \
[[deprecated("please use " #new_enum " instead")]]
#elif defined(__clang__) || \
(defined(__GNUC__) && __GNUC__ >= 6 && !defined(__PGI))
#define CUSOLVER_DEPRECATED_ENUM(new_enum) \
__attribute__((deprecated("please use " #new_enum " instead")))
#else
#define CUSOLVER_DEPRECATED_ENUM(new_enum)
#endif // defined(__cplusplus) && __cplusplus >= 201402L
#else // defined(DISABLE_CUSOLVER_DEPRECATED)
#define CUSOLVER_DEPRECATED(new_func)
#define CUSOLVER_DEPRECATED_ENUM(new_enum)
#endif // !defined(DISABLE_CUSOLVER_DEPRECATED)
#undef CUSOLVER_CPP_VERSION
#if defined(__cplusplus)
extern "C" {
#endif /* __cplusplus */
typedef enum {
CUSOLVER_STATUS_SUCCESS = 0,
CUSOLVER_STATUS_NOT_INITIALIZED = 1,
CUSOLVER_STATUS_ALLOC_FAILED = 2,
CUSOLVER_STATUS_INVALID_VALUE = 3,
CUSOLVER_STATUS_ARCH_MISMATCH = 4,
CUSOLVER_STATUS_MAPPING_ERROR = 5,
CUSOLVER_STATUS_EXECUTION_FAILED = 6,
CUSOLVER_STATUS_INTERNAL_ERROR = 7,
CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED = 8,
CUSOLVER_STATUS_NOT_SUPPORTED = 9,
CUSOLVER_STATUS_ZERO_PIVOT = 10,
CUSOLVER_STATUS_INVALID_LICENSE = 11,
CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED = 12,
CUSOLVER_STATUS_IRS_PARAMS_INVALID = 13,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC = 14,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE = 15,
CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER = 16,
CUSOLVER_STATUS_IRS_INTERNAL_ERROR = 20,
CUSOLVER_STATUS_IRS_NOT_SUPPORTED = 21,
CUSOLVER_STATUS_IRS_OUT_OF_RANGE = 22,
CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES = 23,
CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED = 25,
CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED = 26,
CUSOLVER_STATUS_IRS_MATRIX_SINGULAR = 30,
CUSOLVER_STATUS_INVALID_WORKSPACE = 31
} cusolverStatus_t;
typedef enum {
CUSOLVER_EIG_TYPE_1 = 1,
CUSOLVER_EIG_TYPE_2 = 2,
CUSOLVER_EIG_TYPE_3 = 3
} cusolverEigType_t;
typedef enum {
CUSOLVER_EIG_MODE_NOVECTOR = 0,
CUSOLVER_EIG_MODE_VECTOR = 1
} cusolverEigMode_t;
typedef enum {
CUSOLVER_EIG_RANGE_ALL = 1001,
CUSOLVER_EIG_RANGE_I = 1002,
CUSOLVER_EIG_RANGE_V = 1003,
} cusolverEigRange_t;
typedef enum {
CUSOLVER_INF_NORM = 104,
CUSOLVER_MAX_NORM = 105,
CUSOLVER_ONE_NORM = 106,
CUSOLVER_FRO_NORM = 107,
} cusolverNorm_t;
typedef enum {
CUSOLVER_IRS_REFINE_NOT_SET = 1100,
CUSOLVER_IRS_REFINE_NONE = 1101,
CUSOLVER_IRS_REFINE_CLASSICAL = 1102,
CUSOLVER_IRS_REFINE_CLASSICAL_GMRES = 1103,
CUSOLVER_IRS_REFINE_GMRES = 1104,
CUSOLVER_IRS_REFINE_GMRES_GMRES = 1105,
CUSOLVER_IRS_REFINE_GMRES_NOPCOND = 1106,
CUSOLVER_PREC_DD = 1150,
CUSOLVER_PREC_SS = 1151,
CUSOLVER_PREC_SHT = 1152,
} cusolverIRSRefinement_t;
typedef enum {
CUSOLVER_R_8I = 1201,
CUSOLVER_R_8U = 1202,
CUSOLVER_R_64F = 1203,
CUSOLVER_R_32F = 1204,
CUSOLVER_R_16F = 1205,
CUSOLVER_R_16BF = 1206,
CUSOLVER_R_TF32 = 1207,
CUSOLVER_R_AP = 1208,
CUSOLVER_C_8I = 1211,
CUSOLVER_C_8U = 1212,
CUSOLVER_C_64F = 1213,
CUSOLVER_C_32F = 1214,
CUSOLVER_C_16F = 1215,
CUSOLVER_C_16BF = 1216,
CUSOLVER_C_TF32 = 1217,
CUSOLVER_C_AP = 1218,
} cusolverPrecType_t;
typedef enum {
CUSOLVER_ALG_0 = 0, /* default algorithm */
CUSOLVER_ALG_1 = 1,
CUSOLVER_ALG_2 = 2
} cusolverAlgMode_t;
typedef enum {
CUBLAS_STOREV_COLUMNWISE = 0,
CUBLAS_STOREV_ROWWISE = 1
} cusolverStorevMode_t;
typedef enum {
CUBLAS_DIRECT_FORWARD = 0,
CUBLAS_DIRECT_BACKWARD = 1
} cusolverDirectMode_t;
cusolverStatus_t CUSOLVERAPI
cusolverGetProperty(libraryPropertyType type, int *value);
cusolverStatus_t CUSOLVERAPI cusolverGetVersion(int *version);
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif // CUSOLVER_COMMON_H_