Qual é a maneira canônica de verificar erros usando a API de tempo de execução CUDA?

Olhando através das respostas e comentários sobre as questões CUDA, e noWiki da tag CUDA, Vejo que muitas vezes é sugerido que o status de retorno de cada chamada de API deve ser verificado quanto a erros. A documentação da API contém funções comocudaGetLastError, cudaPeekAtLastErrorecudaGetErrorString, mas qual é a melhor maneira de colocá-los juntos para capturar e relatar erros de maneira confiável sem exigir muito código extra?

questionAnswers(4)

yourAnswerToTheQuestion