!mod$ v1 sum:75273125edb3367e
!need$ bb381bf46e508468 i __fortran_builtins
module cudadevice
use,intrinsic::__fortran_builtins,only:dim3=>__builtin_dim3
use,intrinsic::__fortran_builtins,only:c_devptr=>__builtin_c_devptr
use,intrinsic::__fortran_builtins,only:c_devloc=>__builtin_c_devloc
private::dim3
private::c_devptr
private::c_devloc
interface
attributes(device) subroutine syncthreads()
end
end interface
interface
attributes(device) function syncthreads_and(value)
integer(4)::value
integer(4)::syncthreads_and
end
end interface
interface
attributes(device) function syncthreads_count(value)
integer(4)::value
integer(4)::syncthreads_count
end
end interface
interface
attributes(device) function syncthreads_or(value)
integer(4)::value
integer(4)::syncthreads_or
end
end interface
interface
attributes(device) subroutine syncwarp(mask) bind(c,name="__syncwarp")
integer(4)::mask
end
end interface
interface
attributes(device) subroutine threadfence()
end
end interface
interface
attributes(device) subroutine threadfence_block()
end
end interface
interface
attributes(device) subroutine threadfence_system()
end
end interface
interface
attributes(device) function __fadd_rd(x,y) bind(c,name="__nv_fadd_rd")
real(4),intent(in),value::x
real(4),intent(in),value::y
real(4)::__fadd_rd
end
end interface
interface
attributes(device) function __fadd_ru(x,y) bind(c,name="__nv_fadd_ru")
real(4),intent(in),value::x
real(4),intent(in),value::y
real(4)::__fadd_ru
end
end interface
private::atomicaddi
interface
pure attributes(device) function atomicaddi(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicaddi
end
end interface
private::atomicaddf
interface
pure attributes(device) function atomicaddf(address,val)
real(4),intent(inout)::address
!dir$ ignore_tkr(d) address
real(4),value::val
!dir$ ignore_tkr(d) val
real(4)::atomicaddf
end
end interface
private::atomicaddd
interface
pure attributes(device) function atomicaddd(address,val)
real(8),intent(inout)::address
!dir$ ignore_tkr(d) address
real(8),value::val
!dir$ ignore_tkr(d) val
real(8)::atomicaddd
end
end interface
private::atomicaddl
interface
pure attributes(device) function atomicaddl(address,val)
integer(8),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(8),value::val
!dir$ ignore_tkr(d) val
integer(8)::atomicaddl
end
end interface
private::atomicsubi
interface
pure attributes(device) function atomicsubi(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicsubi
end
end interface
private::atomicsubf
interface
pure attributes(device) function atomicsubf(address,val)
real(4),intent(inout)::address
!dir$ ignore_tkr(d) address
real(4),value::val
!dir$ ignore_tkr(d) val
real(4)::atomicsubf
end
end interface
private::atomicsubd
interface
pure attributes(device) function atomicsubd(address,val)
real(8),intent(inout)::address
!dir$ ignore_tkr(d) address
real(8),value::val
!dir$ ignore_tkr(d) val
real(8)::atomicsubd
end
end interface
private::atomicsubl
interface
pure attributes(device) function atomicsubl(address,val)
integer(8),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(8),value::val
!dir$ ignore_tkr(kd) val
integer(8)::atomicsubl
end
end interface
private::atomicmaxi
interface
pure attributes(device) function atomicmaxi(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicmaxi
end
end interface
private::atomicmaxf
interface
pure attributes(device) function atomicmaxf(address,val)
real(4),intent(inout)::address
!dir$ ignore_tkr(d) address
real(4),value::val
!dir$ ignore_tkr(d) val
real(4)::atomicmaxf
end
end interface
private::atomicmaxd
interface
pure attributes(device) function atomicmaxd(address,val)
real(8),intent(inout)::address
!dir$ ignore_tkr(d) address
real(8),value::val
!dir$ ignore_tkr(d) val
real(8)::atomicmaxd
end
end interface
private::atomicmaxl
interface
pure attributes(device) function atomicmaxl(address,val)
integer(8),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(8),value::val
!dir$ ignore_tkr(kd) val
integer(8)::atomicmaxl
end
end interface
private::atomicmini
interface
pure attributes(device) function atomicmini(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicmini
end
end interface
private::atomicminf
interface
pure attributes(device) function atomicminf(address,val)
real(4),intent(inout)::address
!dir$ ignore_tkr(d) address
real(4),value::val
!dir$ ignore_tkr(d) val
real(4)::atomicminf
end
end interface
private::atomicmind
interface
pure attributes(device) function atomicmind(address,val)
real(8),intent(inout)::address
!dir$ ignore_tkr(d) address
real(8),value::val
!dir$ ignore_tkr(d) val
real(8)::atomicmind
end
end interface
private::atomicminl
interface
pure attributes(device) function atomicminl(address,val)
integer(8),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(8),value::val
!dir$ ignore_tkr(kd) val
integer(8)::atomicminl
end
end interface
private::atomicandi
interface
pure attributes(device) function atomicandi(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicandi
end
end interface
private::atomicori
interface
pure attributes(device) function atomicori(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicori
end
end interface
private::atomicinci
interface
pure attributes(device) function atomicinci(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicinci
end
end interface
private::atomicdeci
interface
pure attributes(device) function atomicdeci(address,val)
integer(4),intent(inout)::address
!dir$ ignore_tkr(d) address
integer(4),value::val
!dir$ ignore_tkr(d) val
integer(4)::atomicdeci
end
end interface
interface atomicadd
procedure::atomicaddi
procedure::atomicaddf
procedure::atomicaddd
procedure::atomicaddl
end interface
interface atomicsub
procedure::atomicsubi
procedure::atomicsubf
procedure::atomicsubd
procedure::atomicsubl
end interface
interface atomicmax
procedure::atomicmaxi
procedure::atomicmaxf
procedure::atomicmaxd
procedure::atomicmaxl
end interface
interface atomicmin
procedure::atomicmini
procedure::atomicminf
procedure::atomicmind
procedure::atomicminl
end interface
interface atomicand
procedure::atomicandi
end interface
interface atomicor
procedure::atomicori
end interface
interface atomicinc
procedure::atomicinci
end interface
interface atomicdec
procedure::atomicdeci
end interface
end
