Neko  0.9.0
A portable framework for high-order spectral element flow simulations
cuda_intf Module Reference

Fortran CUDA interface.

Data Types

interface  cudaMalloc
 
interface  cudaFree
 
interface  cudaMemcpy
 
interface  cudaMemcpyAsync
 
interface  cudaDeviceSynchronize
 
interface  cudaGetDeviceProperties
 
interface  cudaStreamCreate
 
interface  cudaStreamCreateWithFlags
 
interface  cudaStreamCreateWithPriority
 
interface  cudaStreamDestroy
 
interface  cudaStreamSynchronize
 
interface  cudaStreamWaitEvent
 
interface  cudaDeviceGetStreamPriorityRange
 
interface  cudaProfilerStart
 
interface  cudaProfilerStop
 
interface  cudaEventCreate
 
interface  cudaEventDestroy
 
interface  cudaEventCreateWithFlags
 
interface  cudaEventRecord
 
interface  cudaEventSynchronize
 
interface  cudaGetDeviceCount
 
interface  cudaGetDevice
 
interface  cudaSetDevice
 

Enumerations

enum  { cudasuccess = 0 , cudaerrorinvalidvalue = 1 , cudaerrormemoryallocation = 2 , cudaerrorinitializationerror = 3 }
 Enum cudaError. More...
 
enum  {
  cudamemcpyhosttohost = 0 , cudamemcpyhosttodevice = 1 , cudamemcpydevicetohost = 2 , cudamemcpydevicetodevice = 3 ,
  cudamemcpydefault = 4
}
 Enum cudaMemcpyKind. More...
 

Functions/Subroutines

subroutine cuda_init
 
subroutine cuda_finalize
 
subroutine cuda_device_name (name)
 
integer function cuda_device_count ()
 Return the number of avaialble CUDA devices. More...
 

Variables

type(c_ptr), bind(C) glb_cmd_queue = C_NULL_PTR
 Global HIP command queue. More...
 
type(c_ptr), bind(C) aux_cmd_queue = C_NULL_PTR
 Aux HIP command queue. More...
 
integer strm_high_prio
 High priority stream setting. More...
 
integer strm_low_prio
 Low priority stream setting. More...
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
cudasuccess 
cudaerrorinvalidvalue 
cudaerrormemoryallocation 
cudaerrorinitializationerror 

Definition at line 55 of file cuda_intf.F90.

◆ anonymous enum

anonymous enum
Enumerator
cudamemcpyhosttohost 
cudamemcpyhosttodevice 
cudamemcpydevicetohost 
cudamemcpydevicetodevice 
cudamemcpydefault 

Definition at line 63 of file cuda_intf.F90.

Function/Subroutine Documentation

◆ cuda_device_count()

integer function cuda_intf::cuda_device_count

Definition at line 362 of file cuda_intf.F90.

Here is the caller graph for this function:

◆ cuda_device_name()

subroutine cuda_intf::cuda_device_name ( character(len=*), intent(inout)  name)

Definition at line 337 of file cuda_intf.F90.

Here is the caller graph for this function:

◆ cuda_finalize()

subroutine cuda_intf::cuda_finalize

Definition at line 327 of file cuda_intf.F90.

Here is the caller graph for this function:

◆ cuda_init()

subroutine cuda_intf::cuda_init

Definition at line 288 of file cuda_intf.F90.

Here is the caller graph for this function:

Variable Documentation

◆ aux_cmd_queue

type(c_ptr), bind(C) cuda_intf::aux_cmd_queue = C_NULL_PTR

Definition at line 46 of file cuda_intf.F90.

◆ glb_cmd_queue

type(c_ptr), bind(C) cuda_intf::glb_cmd_queue = C_NULL_PTR

Definition at line 43 of file cuda_intf.F90.

◆ strm_high_prio

integer cuda_intf::strm_high_prio

Definition at line 49 of file cuda_intf.F90.

◆ strm_low_prio

integer cuda_intf::strm_low_prio

Definition at line 52 of file cuda_intf.F90.