AccelInterfaces.@jaccelMacro
@jaccel [name][, clauses...]

Create accelerator context.

If name is not specified, this context can be accessed only as the currently active context.

Arguments

  • name::String: a unique name for this accelerator context
  • framework::NamedTuple:
  • device::Integer:
  • compiler::Integer:
  • machine::Integer:
  • constant::Tuple of Variable literal :
  • set::Named Tuple:

See also @jdecel, @jkernel

Examples

julia> @jaccel myacc framework(fortran="gfortran -fPIC -shared -g")
AccelInfo

Implementation

T.B.D.

AccelInterfaces.@jconfigMacro
@jconfig [clauses...]

Configure Jai environment

Arguments

See also @jaccel, @jdecel

Examples

julia> @jconfig framework(fortran="gfortran -fPIC -shared -g")

Implementation

T.B.D.

AccelInterfaces.@jdecelMacro
@jdecel [name][, clauses...]

Destroy accelerator context.

If name is not specified, this context can be accessed only as the currently active context.

Arguments

  • name::String: a unique name for this accelerator context

See also @jaccel, @jkernel

Examples

julia> @jdecel myacc

Implementation

T.B.D.

AccelInterfaces.@jdiffMacro
@jdiff [name] A B [clauses...] begin ... end

Analize difference between A and B

If name is not specified, this context can be accessed only as the currently active context.

Arguments

  • name::String: a unique name for this accelerator context
  • A, B::Test cases

Examples

julia> @jdiff myacc fort_impl(USE_HIP=false) hip_impl(USE_HIP=true) begin
...
end

Implementation

T.B.D.

AccelInterfaces.@jenterdataMacro
@jenterdata [name][, clauses...]

Allocate device memory or copy data to device memory.

If name is not specified, the currently active accel context will be used.

Arguments

  • name::String: a unique name for the accelerator context
  • alloc::NTuple:
  • updateto::NTuple:
  • async::Keyword :

See also @jaccel, @jkernel

Examples

julia> @jenterdata myacc alloc(X, Y, Z), updateto(X, Y, Z)
0

Implementation

T.B.D.

AccelInterfaces.@jexitdataMacro
@jexitdata [name][, clauses...]

Dealloc device memory or copy data from device memory.

If name is not specified, the currently active accel context will be used.

Arguments

  • name::String: a unique name for the accelerator context
  • delete::NTuple:
  • updatefrom::NTuple:
  • async::Keyword :

See also @jaccel, @jkernel

Examples

julia> @jexitdata myacc delete(X, Y, Z), updatefrom(X, Y, Z)
0

Implementation

T.B.D.

AccelInterfaces.@jkernelMacro
@jkernel kerneldef, [kernelname, [accelname, ]][clauses...]

Create kernel context.

If kernelname or accelname is not specified, the currently active accel or kernel context will be used.

Arguments

  • kerneldef::String: Jai kernel definition
  • kernelname::String: Kernel context name
  • accelname::String: Accel context name

See also @jaccel, @jenterdata

Examples

julia> @jkernel knlfilepath mykernel myaccel
0

Implementation

T.B.D.

AccelInterfaces.@jlaunchMacro
@jlaunch [kernelname, [accelname, ]][clauses...]

Launch a kernel on an accelerator.

If kernelname or accelname is not specified, the currently active accel or kernel context will be used.

Arguments

  • kernelname::String: Kernel context name
  • accelname::String: Accel context name

See also @jaccel, @jkernel

Examples

julia> @jlaunch mykernel myaccel input(X, Y) output(Z)
0

Implementation

T.B.D.

AccelInterfaces.@jwaitMacro
@jwait [kernelname[ accelname]]

Wait to finish device operation

If kernelname or accelname is not specified, the currently active accel or kernel context will be used.

Arguments

See also @jaccel, @jkernel

Examples

julia> @jwait mykernel
0

Implementation

T.B.D.