m_cuda_errors Module

CUDA and cuFFT counterparts of m_logger's check_mpi: turn a failed return code into a report naming the operation, the rank and the error, followed by an abort of the whole run.

A CUDA failure is local to the rank that sees it, while its partners carry on into MPI and would wait for it forever, so these always abort the job rather than stopping the one rank.


Uses

  • module~~m_cuda_errors~~UsesGraph module~m_cuda_errors m_cuda_errors cudafor cudafor module~m_cuda_errors->cudafor module~m_logger m_logger module~m_cuda_errors->module~m_logger iso_fortran_env iso_fortran_env module~m_logger->iso_fortran_env m_mpi m_mpi module~m_logger->m_mpi

Used by

  • module~~m_cuda_errors~~UsedByGraph module~m_cuda_errors m_cuda_errors module~m_backend_setup m_backend_setup module~m_backend_setup->module~m_cuda_errors module~m_cuda_backend m_cuda_backend module~m_backend_setup->module~m_cuda_backend module~m_cuda_backend->module~m_cuda_errors module~m_cuda_poisson_fft m_cuda_poisson_fft module~m_cuda_backend->module~m_cuda_poisson_fft module~m_cuda_sendrecv m_cuda_sendrecv module~m_cuda_backend->module~m_cuda_sendrecv module~m_cuda_exec_dist m_cuda_exec_dist module~m_cuda_backend->module~m_cuda_exec_dist module~m_cuda_poisson_fft->module~m_cuda_errors module~m_cuda_poisson_fft->module~m_cuda_sendrecv module~m_cuda_sendrecv->module~m_cuda_errors module~m_cuda_exec_dist->module~m_cuda_sendrecv program~xcompact xcompact program~xcompact->module~m_backend_setup

Subroutines

public subroutine check_cuda(ierr, operation)

Abort the run if a CUDA runtime call did not return cudaSuccess.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ierr
character(len=*), intent(in) :: operation

public subroutine check_cufft(ierr, operation)

Abort the run if a cuFFT call did not return CUFFT_SUCCESS (0). cuFFT has no error-string function, so only the code is reported.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ierr
character(len=*), intent(in) :: operation