Neko  0.9.99
A portable framework for high-order spectral element flow simulations
opencl_intf.F90 File Reference

Go to the source code of this file.

Data Types

interface  opencl_intf::clGetPlatformIDs
 
interface  opencl_intf::clGetDeviceIDs
 
interface  opencl_intf::clCreateContext
 
interface  opencl_intf::clCreateCommandQueue
 
interface  opencl_intf::clCreateBuffer
 
interface  opencl_intf::clCreateUserEvent
 
interface  opencl_intf::clEnqueueReadBuffer
 
interface  opencl_intf::clEnqueueWriteBuffer
 
interface  opencl_intf::clEnqueueCopyBuffer
 
interface  opencl_intf::clEnqueueMarkerWithWaitList
 
interface  opencl_intf::clEnqueueMarker
 
interface  opencl_intf::clEnqueueBarrier
 
interface  opencl_intf::clEnqueueWaitForEvents
 
interface  opencl_intf::clWaitForEvents
 
interface  opencl_intf::clSetUserEventStatus
 
interface  opencl_intf::clGetDeviceInfo
 
interface  opencl_intf::clReleaseContext
 
interface  opencl_intf::clReleaseCommandQueue
 
interface  opencl_intf::clReleaseDevice
 
interface  opencl_intf::clReleaseProgram
 
interface  opencl_intf::clReleaseMemObject
 
interface  opencl_intf::clReleaseEvent
 
interface  opencl_intf::clFlush
 
interface  opencl_intf::clFinish
 

Modules

module  opencl_intf
 Fortran OpenCL interface.
 

Enumerations

enum  {
  opencl_intf::cl_success = 0 , opencl_intf::cl_device_not_found = -1 , opencl_intf::cl_device_not_available = -2 , opencl_intf::cl_compiler_not_available = -3 ,
  opencl_intf::cl_mem_object_allocation_failure = -4 , opencl_intf::cl_out_of_resources = -5 , opencl_intf::cl_out_of_host_memory = -6 , opencl_intf::cl_profiling_info_not_available = -7 ,
  opencl_intf::cl_mem_copy_overlap = -8 , opencl_intf::cl_image_format_mismatch = -9 , opencl_intf::cl_image_format_not_supported = -10 , opencl_intf::cl_build_program_failure = -11 ,
  opencl_intf::cl_map_failure = -12
}
 Enum Error Codes. More...
 
enum  {
  opencl_intf::cl_mem_read_write = 1 , opencl_intf::cl_mem_write_only = 2 , opencl_intf::cl_mem_read_only = 4 , opencl_intf::cl_mem_use_host_ptr = 8 ,
  opencl_intf::cl_mem_alloc_host_ptr = 16 , opencl_intf::cl_mem_host_write_only = 128 , opencl_intf::cl_mem_host_read_only = 256 , opencl_intf::cl_mem_host_no_access = 512
}
 Enum mem flags. More...
 
enum  { opencl_intf::cl_complete = 0 , opencl_intf::cl_running = 1 , opencl_intf::cl_submitted = 2 , opencl_intf::cl_queued = 3 }
 Enum event flags. More...
 
enum  { opencl_intf::cl_false = 0 , opencl_intf::cl_true = 1 }
 Enum boolean. More...
 
enum  { opencl_intf::cl_context_platform = int(Z'1084') }
 
enum  { opencl_intf::cl_device_name = 4139 }
 Enum device info. More...
 

Functions/Subroutines

subroutine opencl_intf::opencl_init
 
subroutine opencl_intf::opencl_finalize
 
subroutine opencl_intf::opencl_device_name (name)
 
integer function opencl_intf::opencl_device_count ()
 Return the number of OpenCL devices. More...
 

Variables

type(c_ptr), bind(C) opencl_intf::glb_cmd_queue = C_NULL_PTR
 Global OpenCL command queue. More...
 
type(c_ptr), bind(C) opencl_intf::aux_cmd_queue = C_NULL_PTR
 Aux OpenCL command queue. More...
 
type(c_ptr), bind(C) opencl_intf::glb_ctx = C_NULL_PTR
 Global OpenCL context. More...
 
type(c_ptr), target opencl_intf::glb_device_id = C_NULL_PTR
 Global OpenCL device_id. More...
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_default = 1
 Device types. More...
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_cpu = 2
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_gpu = 4
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_accelerator = 8
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_custom = 16
 
integer(c_int64_t), parameter opencl_intf::cl_device_type_all = int(Z'FFFFFFFF', i8)