Context#
- cuest.bindings.cuestCreate(
- *,
- parameters: cuest.bindings.cuest.Parameters,
- handle: cuest.bindings.cuest.cuestHandle,
Creates a new cuEST handle and its associated resources from a parameter structure.
Ownership of handles or pointers passed into the structure is NOT transferred. Default parameters will construct a generic GPU context.
- Requirements:
A cudaStream alone may be provided, all others may be left NULL.
If cuBLAS or cuSolver handles are specified, a cudaStream must also be specified.
When cuBLAS or cuSolver handles are specified, these handles must be set to operate on the provided cudaStream (i.e. by calling cublasSetStream or cusolverDnSetStream with it).
Parameters#
- parameters[in]cuestHandleParameters
Parameter structure handle (must not be NULL).
- handle[out]cuestHandle
Pointer to opaque cuEST handle for output.
Returns#
- status[out]cuestStatus_t
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_NULL_POINTERif parameters or handle is NULL,CUEST_STATUS_INVALID_TYPEif parameters is not of thecuestHandleParameters_ttype,CUEST_STATUS_UNSUPPORTED_ARCHITECTUREif the GPU architecture is not supported by cuEST,CUEST_STATUS_INVALID_ARGUMENTif a handle parameter value is invalid (e.g. an invalid JIT compile-thread count or an unsafe JIT cache directory),CUEST_STATUS_HOME_NOT_FOUNDif no JIT cache directory was specified and the HOME environment variable is unset or empty,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestDestroy(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
Destroys a cuEST handle and all associated resources.
Frees memory for GPU resources, quadrature data, solid harmonics coefficients, and rys table.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle to destroy (must not be NULL).
Returns#
- status[out]cuestStatus_t
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_NULL_POINTERif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestSetMathMode(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- mode: int,
Sets the math mode used when cuEST functions are called with this handle.
CUEST_DEFAULT_MATH_MODEcuEST will use algorithms that are determined heuristically to maximize performance. Some results may use mixed precision arithmetic.CUEST_NATIVE_FP64_MATH_MODEcuEST will use FP64 arithmetic everywhere.
Parameters#
- handle[in,out]cuestHandle
Opaque cuEST handle (must not be NULL).
- mode[in]CuestMathMode
Math mode to set in cuEST handle
Returns#
- status[out]CuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_INVALID_ARGUMENTif thecuestMathMode_tis invalid.CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestGetMathMode(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- mode: cuest.bindings.cuest.data_cuestMathMode_t,
Gets the math mode associated with this handle.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle (must not be NULL).
- mode[out]data_cuestMathMode_t
Math mode to get from the cuEST handle
Returns#
- status[out]CuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_NULL_POINTERif mode is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestSetComputeCapabilityTarget(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- targetMajorVersion: int,
- targetMinorVersion: int,
Sets the compute capability target used when cuEST functions are called with this handle.
Parameters#
- handle[in,out]cuestHandle
Opaque cuEST handle (must not be NULL).
- targetMajorVersion[in]int
Major compute capability version
- targetMinorVersion[in]int
Minor compute capability version
Returns#
- status[out]CuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestGetComputeCapabilityTarget(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- targetMajorVersion: cuest.bindings.cuest.data_uint32_t,
- targetMinorVersion: cuest.bindings.cuest.data_uint32_t,
Gets the compute capability target used when cuEST functions are called with this handle.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle (must not be NULL).
- targetMajorVersion[out]data_uint32_t
Major compute capability version
- targetMinorVersion[out]data_uint32_t
Minor compute capability version
Returns#
- status[out]CuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_NULL_POINTERif targetMajorVersion or targetMinorVersion is NULL,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestGetMajorVersion(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- majorVersion: cuest.bindings.cuest.data_uint32_t,
Gets the major version of the cuEST library.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle (must not be NULL).
- majorVersion[out]data_uint32_t
Major version of the cuEST library.
Returns#
- statusCuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_NULL_POINTERif majorVersion is NULL,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestGetMinorVersion(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- minorVersion: cuest.bindings.cuest.data_uint32_t,
Gets the minor version of the cuEST library.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle (must not be NULL).
- minorVersion[out]data_uint32_t
Minor version of the cuEST library.
Returns#
- statusCuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_NULL_POINTERif minorVersion is NULL,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestGetPatchVersion(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- patchVersion: cuest.bindings.cuest.data_uint32_t,
Gets the patch version of the cuEST library.
Parameters#
- handle[in]cuestHandle
Opaque cuEST handle (must not be NULL).
- patchVersion[out]data_uint32_t
Patch version of the cuEST library.
Returns#
- statusCuestStatus
CUEST_STATUS_SUCCESSon success,CUEST_STATUS_INVALID_HANDLEif handle is NULL,CUEST_STATUS_INVALID_TYPEif handle is not of thecuestHandle_ttype,CUEST_STATUS_NULL_POINTERif patchVersion is NULL,CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.