9

cuInit によって返される結果の人間が読める説明を取得したいと考えています。私が見つけたすべてのページは、この目的のためにcudaGetErrorStringを使用することを推奨していますが、これはエラーになります:

error: cannot convert CUresult {aka cudaError_enum} to cudaError_t 
{aka cudaError} for argument 1 to const char* cudaGetErrorString(cudaError_t)

CUresult と cudaError の違いと、前者を解釈するために使用できる関数は何ですか?

4

2 に答える 2

14

執筆時点での現在のドライバー API は、CUresult をその文字列表現と説明に変換することをサポートしています

ドライバー API ドキュメントから:

CUresult cuGetErrorName ( CUresult error, const char** pStr )
    Gets the string representation of an error code enum name. 
CUresult cuGetErrorString ( CUresult error, const char** pStr )
    Gets the string description of an error code. 

http://docs.nvidia.com/cuda/cuda-driver-api/index.html

于 2014-06-26T08:13:30.627 に答える
10
LIBRARY         RETURN TYPE     VALUES
CUDA Driver     CUresult        enum cudaError_enum    in cuda.h
CUDA Runtime    cudaError_t     enum cudaError         in driver_types.h

CUDA ランタイムは、関数 cudaGetErrorString を提供して、cudaError 列挙値を文字列に変換します。

CUDA ドライバー API には、文字列を返す関数はありません。

CUresult と cudaError_t のエラー名と値が一致しません。

NVIDIA は現在、CUresult のエラー文字列を返すためのライブラリを提供していません。cuda.h のデータを関数に変換するのに数分しかかかりません。

于 2013-02-08T18:02:25.013 に答える