loki.backend.cufgen
- cufgen(ir, depth=0, conservative=False, linewidth=132)
Generate CUDA Fortran code from one or many IR objects/trees.
Implemented by extending the
FortranCodegen
to support CUDA Fortran specific syntax. Refer to the CUDA_FORTRAN_PROGRAMMING_GUIDE for more information.Supported subset of the CUDA Fortran specifications:
variable qualifiers e.g.
attributes(device)
chevron syntax for to launch kernels e.g.
call kernel<<<grid,block[,bytes][,streamid]>>>(arg1,arg2,...)
Natively supported (via
FortranCodegen
):subroutine/function qualifiers e.g.
attributes(global)
vialoki.Subroutine.prefix
kernel loop directives via
loki.ir.Pragma