AccelInterfaces.AccelInterfaces
— ModuleJulia Accelerator Interfaces(Jai) module
AccelInterfaces.jai_wait
— Methodfunction jai_wait
Process @jwait
Implementation
- invoke wait-equivalent framework api
AccelInterfaces.@jaccel
— Macro@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 contextframework
::NamedTuple:device
::Integer:compiler
::Integer:machine
::Integer:constant
::Tuple of Variable literal :set
::Named Tuple:
Examples
julia> @jaccel myacc framework(fortran="gfortran -fPIC -shared -g")
AccelInfo
Implementation
T.B.D.
AccelInterfaces.@jconfig
— MacroAccelInterfaces.@jdecel
— MacroAccelInterfaces.@jdiff
— Macro@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 contextA
,B
::Test cases
Examples
julia> @jdiff myacc fort_impl(USE_HIP=false) hip_impl(USE_HIP=true) begin
...
end
Implementation
T.B.D.
AccelInterfaces.@jenterdata
— Macro@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 contextalloc
::NTuple:updateto
::NTuple:async
::Keyword :
Examples
julia> @jenterdata myacc alloc(X, Y, Z), updateto(X, Y, Z)
0
Implementation
T.B.D.
AccelInterfaces.@jexitdata
— Macro@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 contextdelete
::NTuple:updatefrom
::NTuple:async
::Keyword :
Examples
julia> @jexitdata myacc delete(X, Y, Z), updatefrom(X, Y, Z)
0
Implementation
T.B.D.
AccelInterfaces.@jkernel
— Macro@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 definitionkernelname
::String: Kernel context nameaccelname
::String: Accel context name
See also @jaccel
, @jenterdata
Examples
julia> @jkernel knlfilepath mykernel myaccel
0
Implementation
T.B.D.
AccelInterfaces.@jlaunch
— Macro@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 nameaccelname
::String: Accel context name
Examples
julia> @jlaunch mykernel myaccel input(X, Y) output(Z)
0
Implementation
T.B.D.
AccelInterfaces.@jwait
— Macro