Graph Framework
|
Class object for the binding. More...
Public Member Functions | |
FINAL | graph_destruct (this) |
Deconstruct a graph_context object. | |
procedure | variable (this, size, symbol) |
Create variable node. | |
procedure | constant_real (this, value) |
Create a constant node. | |
procedure | constant_complex (this, real_value, img_valu |
Create constant node with complex values. | |
GENERIC | constant constant_real, constant_complex |
procedure | set_variable_float graph_context_set_variable_f |
procedure | set_variable_double graph_context_set_variable_ |
procedure | set_variable_cfloat graph_context_set_variable_ |
procedure | set_variable_cdouble graph_context_set_variable |
GENERIC | set_variable set_variable_float, |
set_variable_double set_variable_double | |
set_variable_cfloat set_variable_cfloat | |
set_variable_cdouble set_variable_cdouble | |
procedure | pseudo_variable (this, var) |
Create pseudo variable node. | |
procedure | remove_pseudo (this, var) |
Remove pseudo. | |
procedure | add (this, left, right) |
Create Addition node. | |
procedure | sub (this, left, right) |
Create Subtract node. | |
procedure | mul (this, left, right) |
Create Multiply node. | |
procedure | div (this, left, right) |
Create Divide node. | |
procedure | sqrt (this, arg) |
Create Sqrt node. | |
procedure | exp (this, arg) |
Create Exp node. | |
procedure | log (this, arg) |
Create Log node. | |
procedure | pow (this, left, right) |
Create Pow node. | |
procedure | erfi (this, arg) |
Create erfi node. | |
procedure | sin (this, arg) |
Create Sine node. | |
procedure | cos (this, arg) |
Create Cosine node. | |
procedure | atan (this, left, right) |
Create atan node. | |
procedure | random_state (this, seed) |
Get random size. | |
procedure | random (this, state) |
Create random node. | |
procedure | piecewise_1d_float graph_context_piecewise_1d_f |
procedure | piecewise_1d_double graph_context_piecewise_1d_ |
procedure | piecewise_1d_cfloat graph_context_piecewise_1d_ |
procedure | piecewise_1d_cdouble |
graph_context_piecewise_1d_cdouble (this, arg, scale, offs | |
Create 1D piecewise node with complex double buffer. | |
GENERIC | piecewise_1d piecewise_1d_float, |
piecewise_1d_double piecewise_1d_double | |
piecewise_1d_cfloat piecewise_1d_cfloat | |
piecewise_1d_cdouble piecewise_1d_cdouble | |
procedure | piecewise_2d_float graph_context_piecewise_2d_f |
procedure | piecewise_2d_double graph_context_piecewise_2d_ |
procedure | piecewise_2d_cfloat graph_context_piecewise_2d_ |
procedure | piecewise_2d_cdouble graph_context_piecewise_2d |
GENERIC | piecewise_2d piecewise_2d_float, |
piecewise_2d_double piecewise_2d_double | |
piecewise_2d_cfloat piecewise_2d_cfloat | |
piecewise_2d_cdouble piecewise_2d_cdouble | |
procedure | get_max_concurrency graph_context_get_max_concu |
procedure | set_device_number graph_context_set_device_numb |
procedure | add_pre_item (this, inputs, outputs, |
Add pre workflow item. | |
procedure | add_item (this, inputs, outputs, |
Add workflow item. | |
procedure | add_converge_item graph_context_add_converge_it |
procedure | df (this, fnode, xnode) |
Take derivative ∂f∂x. | |
procedure | compile (this) |
Compile the work items. | |
procedure | pre_run (this) |
Run pre work items. | |
procedure | run (this) |
Run work items. | |
procedure | wait (this) |
Wait for work items to complete. | |
procedure | copy_to_device_float graph_context_copy_to_devi |
procedure | copy_to_device_double |
graph_context_copy_to_device_double (this, node, source) | |
Copy double data to a device buffer. | |
procedure | copy_to_device_cfloat |
graph_context_copy_to_device_cfloat (this, node, source) | |
Copy complex float data to a device buffer. | |
procedure | copy_to_device_cdouble |
graph_context_copy_to_device_cdouble (this, node, source | |
Copy complex double data to a device buffer. | |
GENERIC | copy_to_device copy_to_device_float, |
copy_to_device_double copy_to_device_double | |
copy_to_device_cfloat copy_to_device_cfloat | |
copy_to_device_cdouble copy_to_device_cdouble | |
procedure | copy_to_host_float graph_context_copy_to_host_f |
procedure | copy_to_host_double graph_context_copy_to_host_ |
procedure | copy_to_host_cfloat graph_context_copy_to_host_ |
procedure | copy_to_host_cdouble graph_context_copy_to_host |
GENERIC | copy_to_host copy_to_host_float, |
copy_to_host_double copy_to_host_double | |
copy_to_host_cfloat copy_to_host_cfloat | |
copy_to_host_cdouble copy_to_host_cdouble | |
procedure | print (this, index, nodes) |
Print a value from nodes. | |
Public Attributes | |
type(c_ptr) | arp_context |
The auto release pool context. | |
type(c_ptr) | c_context |
The graph c context. | |
Class object for the binding.
procedure graph_fortran::graph_context::add | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create Addition node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::add_item | ( | class(graph_context), intent(inout) | this, |
integer(c_intptr_t), dimension(:), intent(in) | inputs, | ||
integer(c_intptr_t), dimension(:), intent(in) | outputs | ||
) |
Add workflow item.
[in,out] | this | graph_context instance. |
[in] | inputs | Array of input nodes. |
[in] | outputs | Array of output nodes. |
[in] | map_inputs | Array of map input nodes. |
[in] | map_outputs | Array of map output nodes. |
[in] | random_state | Optional random state, can be NULL if not used. |
[in] | name | Name for the kernel. |
[in] | num_particles | Number of elements to operate on. |
procedure graph_fortran::graph_context::add_pre_item | ( | class(graph_context), intent(inout) | this, |
integer(c_intptr_t), dimension(:), intent(in) | inputs, | ||
integer(c_intptr_t), dimension(:), intent(in) | outputs | ||
) |
Add pre workflow item.
[in,out] | this | graph_context instance. |
[in] | inputs | Array of input nodes. |
[in] | outputs | Array of output nodes. |
[in] | map_inputs | Array of map input nodes. |
[in] | map_outputs | Array of map output nodes. |
[in] | random_state | Optional random state, can be NULL if not used. |
[in] | name | Name for the kernel. |
[in] | num_particles | Number of elements to operate on. |
procedure graph_fortran::graph_context::atan | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create atan node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::compile | ( | class(graph_context), intent(in) | this | ) |
Compile the work items.
[in] | this | graph_context instance. |
procedure graph_fortran::graph_context::constant_complex | ( | class(graph_context), intent(inout) | this, |
real(c_double), intent(in) | real_value, | ||
img_valu | |||
) |
Create constant node with complex values.
[in,out] | this | graph_context instance. |
[in] | real_value | The real component. |
[in] | img_value | The imaginary component. |
procedure graph_fortran::graph_context::constant_real | ( | class(graph_context), intent(inout) | this, |
real(c_double), intent(in) | value | ||
) |
Create a constant node.
[in,out] | this | graph_context instance. |
[in] | value | Size of the data buffer. |
procedure graph_fortran::graph_context::cos | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create Cosine node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
procedure graph_fortran::graph_context::df | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | fnode, | ||
type(c_ptr), intent(in) | xnode | ||
) |
Take derivative ∂f∂x.
[in,out] | this | graph_context instance. |
[in] | fnode | The function expression to take the derivative of. |
[in] | xnode | The expression to take the derivative with respect to. |
procedure graph_fortran::graph_context::div | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create Divide node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::erfi | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create erfi node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
procedure graph_fortran::graph_context::exp | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create Exp node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
graph_fortran::graph_context::graph_context_copy_to_device_cdouble | ( | class(graph_context), intent(in) | this, |
type(c_ptr), intent(in) | node, | ||
complex(c_double_complex), dimension(:), intent(in) | source | ||
) |
Copy complex double data to a device buffer.
[in] | this | graph_context instance. |
[in] | node | Node to copy to. |
[in] | source | Source to copy from. |
graph_fortran::graph_context::graph_context_copy_to_device_cfloat | ( | class(graph_context), intent(in) | this, |
type(c_ptr), intent(in) | node, | ||
complex(c_float_complex), dimension(:), intent(in) | source | ||
) |
Copy complex float data to a device buffer.
[in] | this | graph_context instance. |
[in] | node | Node to copy to. |
[in] | source | Source to copy from. |
graph_fortran::graph_context::graph_context_copy_to_device_double | ( | class(graph_context), intent(in) | this, |
type(c_ptr), intent(in) | node, | ||
real(c_double), dimension(:), intent(in) | source | ||
) |
Copy double data to a device buffer.
[in] | this | graph_context instance. |
[in] | node | Node to copy to. |
[in] | source | Source to copy from. |
graph_fortran::graph_context::graph_context_piecewise_1d_cdouble | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg, | ||
real(c_double) | scale, | ||
offs | |||
) |
Create 1D piecewise node with complex double buffer.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
[in] | scale | Scale factor argument. |
[in] | offset | Offset factor argument. |
[in] | source | Source buffer to fill elements. |
|
final |
Deconstruct a graph_context object.
Deallocate memory and unitialize a graph_context object.
[in,out] | this | A graph_context instance. |
procedure graph_fortran::graph_context::log | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create Log node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
procedure graph_fortran::graph_context::mul | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create Multiply node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::pow | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create Pow node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::pre_run | ( | class(graph_context), intent(in) | this | ) |
Run pre work items.
[in] | this | graph_context instance. |
procedure graph_fortran::graph_context::print | ( | class(graph_context), intent(in) | this, |
integer(c_long), intent(in) | index, | ||
integer(c_intptr_t), dimension(:), intent(in) | nodes | ||
) |
Print a value from nodes.
[in] | c | The graph C context. |
[in] | index | Particle index to print. |
[in] | nodes | Nodes to print. |
procedure graph_fortran::graph_context::pseudo_variable | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | var | ||
) |
Create pseudo variable node.
[in,out] | this | graph_context instance. |
[in] | var | The variable to set. |
procedure graph_fortran::graph_context::random | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | state | ||
) |
Create random node.
[in,out] | this | graph_context instance. |
[in] | state | A random state node. |
procedure graph_fortran::graph_context::random_state | ( | class(graph_context), intent(inout) | this, |
integer(c_int32_t), intent(in) | seed | ||
) |
Get random size.
[in,out] | this | graph_context instance. |
[in] | seed | Intial random seed. |
procedure graph_fortran::graph_context::remove_pseudo | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | var | ||
) |
Remove pseudo.
[in,out] | this | graph_context instance. |
[in] | var | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::run | ( | class(graph_context), intent(in) | this | ) |
Run work items.
[in] | this | graph_context instance. |
procedure graph_fortran::graph_context::sin | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create Sine node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
procedure graph_fortran::graph_context::sqrt | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | arg | ||
) |
Create Sqrt node.
[in,out] | this | graph_context instance. |
[in] | arg | The function argument. |
procedure graph_fortran::graph_context::sub | ( | class(graph_context), intent(inout) | this, |
type(c_ptr), intent(in) | left, | ||
type(c_ptr), intent(in) | right | ||
) |
Create Subtract node.
[in,out] | this | graph_context instance. |
[in] | left | The graph to remove pseudo variables. |
[in] | right | The graph to remove pseudo variables. |
procedure graph_fortran::graph_context::variable | ( | class(graph_context), intent(inout) | this, |
integer(c_long), intent(in) | size, | ||
character(kind=c_char,len=*), intent(in) | symbol | ||
) |
Create variable node.
[in,out] | this | graph_context instance. |
[in] | size | Size of the data buffer. |
[in] | symbol | Symbol of the variable. |
procedure graph_fortran::graph_context::wait | ( | class(graph_context), intent(in) | this | ) |
Wait for work items to complete.
[in] | this | graph_context instance. |