dtfft_interface_nvtx Module

nvtx3 Interfaces


Uses

  • module~~dtfft_interface_nvtx~~UsesGraph module~dtfft_interface_nvtx dtfft_interface_nvtx iso_c_binding iso_c_binding module~dtfft_interface_nvtx->iso_c_binding module~dtfft_utils dtfft_utils module~dtfft_interface_nvtx->module~dtfft_utils module~dtfft_utils->iso_c_binding iso_fortran_env iso_fortran_env module~dtfft_utils->iso_fortran_env module~dtfft_parameters dtfft_parameters module~dtfft_utils->module~dtfft_parameters mpi_f08 mpi_f08 module~dtfft_utils->mpi_f08 module~dtfft_parameters->iso_c_binding module~dtfft_parameters->iso_fortran_env module~dtfft_parameters->mpi_f08

Used by

  • module~~dtfft_interface_nvtx~~UsedByGraph module~dtfft_interface_nvtx dtfft_interface_nvtx module~dtfft_abstract_executor dtfft_abstract_executor module~dtfft_abstract_executor->module~dtfft_interface_nvtx module~dtfft_abstract_transpose_plan dtfft_abstract_transpose_plan module~dtfft_abstract_transpose_plan->module~dtfft_interface_nvtx module~dtfft_nvrtc_kernel dtfft_nvrtc_kernel module~dtfft_abstract_transpose_plan->module~dtfft_nvrtc_kernel module~dtfft_abstract_backend dtfft_abstract_backend module~dtfft_abstract_transpose_plan->module~dtfft_abstract_backend module~dtfft_nvrtc_kernel->module~dtfft_interface_nvtx module~dtfft_plan dtfft_plan module~dtfft_plan->module~dtfft_interface_nvtx module~dtfft_plan->module~dtfft_abstract_executor module~dtfft_plan->module~dtfft_abstract_transpose_plan module~dtfft_plan->module~dtfft_nvrtc_kernel module~dtfft_transpose_plan_cuda dtfft_transpose_plan_cuda module~dtfft_plan->module~dtfft_transpose_plan_cuda module~dtfft_transpose_plan_host dtfft_transpose_plan_host module~dtfft_plan->module~dtfft_transpose_plan_host module~dtfft_executor_cufft_m dtfft_executor_cufft_m module~dtfft_plan->module~dtfft_executor_cufft_m module~dtfft_executor_fftw_m dtfft_executor_fftw_m module~dtfft_plan->module~dtfft_executor_fftw_m module~dtfft_executor_mkl_m dtfft_executor_mkl_m module~dtfft_plan->module~dtfft_executor_mkl_m module~dtfft_executor_vkfft_m dtfft_executor_vkfft_m module~dtfft_plan->module~dtfft_executor_vkfft_m module~dtfft_transpose_handle_cuda dtfft_transpose_handle_cuda module~dtfft_transpose_handle_cuda->module~dtfft_interface_nvtx module~dtfft_transpose_handle_cuda->module~dtfft_nvrtc_kernel module~dtfft_transpose_handle_cuda->module~dtfft_abstract_backend module~dtfft_backend_cufftmp_m dtfft_backend_cufftmp_m module~dtfft_transpose_handle_cuda->module~dtfft_backend_cufftmp_m module~dtfft_backend_mpi dtfft_backend_mpi module~dtfft_transpose_handle_cuda->module~dtfft_backend_mpi module~dtfft_backend_nccl_m dtfft_backend_nccl_m module~dtfft_transpose_handle_cuda->module~dtfft_backend_nccl_m module~dtfft_transpose_handle_host dtfft_transpose_handle_host module~dtfft_transpose_handle_host->module~dtfft_interface_nvtx module~dtfft_transpose_plan_cuda->module~dtfft_interface_nvtx module~dtfft_transpose_plan_cuda->module~dtfft_abstract_transpose_plan module~dtfft_transpose_plan_cuda->module~dtfft_nvrtc_kernel module~dtfft_transpose_plan_cuda->module~dtfft_transpose_handle_cuda module~dtfft_transpose_plan_cuda->module~dtfft_abstract_backend module~dtfft_transpose_plan_host->module~dtfft_interface_nvtx module~dtfft_transpose_plan_host->module~dtfft_abstract_transpose_plan module~dtfft_transpose_plan_host->module~dtfft_transpose_handle_host module~dtfft dtfft module~dtfft->module~dtfft_plan module~dtfft_abstract_backend->module~dtfft_nvrtc_kernel module~dtfft_api dtfft_api module~dtfft_api->module~dtfft_plan module~dtfft_executor_cufft_m->module~dtfft_abstract_executor module~dtfft_executor_fftw_m->module~dtfft_abstract_executor module~dtfft_executor_mkl_m->module~dtfft_abstract_executor module~dtfft_executor_vkfft_m->module~dtfft_abstract_executor module~dtfft_backend_cufftmp_m->module~dtfft_abstract_backend module~dtfft_backend_mpi->module~dtfft_abstract_backend module~dtfft_backend_nccl_m->module~dtfft_abstract_backend

Variables

Type Visibility Attributes Name Initial
type(nvtxDomainHandle), private, save :: domain_nvtx

NVTX domain handle

logical, private, save :: domain_created = .false.

Has domain been created?


Interfaces

interface

Creates an NVTX domain with the specified name.

  • private subroutine nvtxDomainCreate_c(name, domain) bind(C, name="nvtxDomainCreate_c")

    Arguments

    Type IntentOptional Attributes Name
    character(len=c_char), intent(in) :: name(*)

    Name of the NVTX domain.

    type(nvtxDomainHandle) :: domain

    Handle to the created NVTX domain.

interface

Pushes a range with a custom message and color onto the specified NVTX domain.

  • private subroutine nvtxDomainRangePushEx_c(domain, message, color) bind(C, name="nvtxDomainRangePushEx_c")

    Arguments

    Type IntentOptional Attributes Name
    type(nvtxDomainHandle), value :: domain

    NVTX domain handle.

    character(len=c_char), intent(in) :: message(*)

    Custom message for the range.

    integer(kind=c_int), intent(in), value :: color

    Color for the range.

interface

Pops a range from the specified NVTX domain.

  • private subroutine nvtxDomainRangePop_c(domain) bind(C, name="nvtxDomainRangePop_c")

    Arguments

    Type IntentOptional Attributes Name
    type(nvtxDomainHandle), value :: domain

    NVTX domain handle.


Derived Types

type, private, bind(C) ::  nvtxDomainHandle

Components

Type Visibility Attributes Name Initial
type(c_ptr), public :: handle

Subroutines

public subroutine push_nvtx_domain_range(message, color)

Pushes a range to the NVTX domain

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: message

Message to push

integer(kind=c_int), intent(in) :: color

Color of the range

public subroutine pop_nvtx_domain_range()

Pops a range from the NVTX domain

Arguments

None

private subroutine create_nvtx_domain()

Creates a new NVTX domain

Arguments

None