diff --git a/paddle/platform/enforce.h b/paddle/platform/enforce.h index 6c1cd443c9eeed1cf055fce7bc93e397a8f57ca2..5d440dec48e7a4cba404bc297eca5a451a144d93 100644 --- a/paddle/platform/enforce.h +++ b/paddle/platform/enforce.h @@ -85,30 +85,29 @@ inline void throw_on_error(cudnnStatus_t stat, const Args&... args) { template inline void throw_on_error(cublasStatus_t stat, const Args&... args) { - std::stringstream ss; + std::string err; if (stat == CUBLAS_STATUS_SUCCESS) { return; } else if (stat == CUBLAS_STATUS_NOT_INITIALIZED) { - ss << "CUBLAS: not initialized"; + err = "CUBLAS: not initialized, "; } else if (stat == CUBLAS_STATUS_ALLOC_FAILED) { - ss << "CUBLAS: alloc failed"; + err = "CUBLAS: alloc failed, "; } else if (stat == CUBLAS_STATUS_INVALID_VALUE) { - ss << "CUBLAS: invalid value"; + err = "CUBLAS: invalid value, "; } else if (stat == CUBLAS_STATUS_ARCH_MISMATCH) { - ss << "CUBLAS: arch mismatch"; + err = "CUBLAS: arch mismatch, "; } else if (stat == CUBLAS_STATUS_MAPPING_ERROR) { - ss << "CUBLAS: mapping error"; + err = "CUBLAS: mapping error, "; } else if (stat == CUBLAS_STATUS_EXECUTION_FAILED) { - ss << "CUBLAS: execution failed"; + err = "CUBLAS: execution failed, "; } else if (stat == CUBLAS_STATUS_INTERNAL_ERROR) { - ss << "CUBLAS: internal error"; + err = "CUBLAS: internal error, "; } else if (stat == CUBLAS_STATUS_NOT_SUPPORTED) { - ss << "CUBLAS: not supported"; + err = "CUBLAS: not supported, "; } else if (stat == CUBLAS_STATUS_LICENSE_ERROR) { - ss << "CUBLAS: license error"; + err = "CUBLAS: license error, "; } - ss << ", "; - throw std::runtime_error(ss + string::Sprintf(args...) + + throw std::runtime_error(err + string::Sprintf(args...) + string::Sprintf(" at [%s:%s];", __FILE__, __LINE__)); }