You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functionstore_metadata(metadata_module::Module, is_parallel_kernel::Bool, caller::Module, offset_mins::Dict{Symbol, <:NTuple{3,Integer}}, offset_maxs::Dict{Symbol, <:NTuple{3,Integer}}, offsets::Dict{Symbol, Dict{Any, Any}}, optvars::NTuple{N,Symbol}where N, shmem_optvars::NTuple{M,Symbol}where M, use_any_shmem::Bool, loopdim::Integer, loopsize::Integer, optranges::Dict{Any, Any}, use_shmemhalos)
1023
1024
memopt =true
1024
1025
nonconst_metadata =get_nonconst_metadata(caller)
1025
1026
stencilranges =NamedTuple(A => (offset_mins[A][1]:offset_maxs[A][1], offset_mins[A][2]:offset_maxs[A][2], offset_mins[A][3]:offset_maxs[A][3]) for A in optvars)
1027
+
use_shmemhalos =NamedTuple(A => use_shmemhalos[A] for A in optvars)
numbertype =get_numbertype(caller) # not :(eltype($(optvars)[1])) # TODO: see how to obtain number type properly for each array: the type of the call call arguments corresponding to the optimization variables should be checked
382
-
dim1 = :(($loopdim==3) ?1: ($loopdim==2) ?1:2) #TODO: to be determined if that is what is desired for loopdim 1 and 2.
383
-
dim2 = :(($loopdim==3) ?2: ($loopdim==2) ?3:3) #TODO: to be determined if that is what is desired for loopdim 1 and 2.
if (async) return :(@parallel_async memopt=false$configcall_kwarg_expr $ranges $nblocks $nthreads shmem=$shmem $(backend_kwargs_expr...) $kernelcall) #TODO: the package and numbertype will have to be passed here further once supported as kwargs
0 commit comments