Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
elpa
elpa
Commits
08caccbc
Commit
08caccbc
authored
Mar 23, 2017
by
Andreas Marek
Browse files
Change kind of device pointers from c_size_t -> c_intptr_t
parent
362d17d1
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/aligned_mem.F90
View file @
08caccbc
...
...
@@ -46,10 +46,10 @@ module aligned_mem
interface
function
posix_memalign
(
memptr
,
alignment
,
size
)
result
(
error
)
bind
(
C
,
name
=
"posix_memalign"
)
import
c_int
,
c_
size
_t
,
c_ptr
import
c_int
,
c_
intptr
_t
,
c_ptr
integer
(
kind
=
c_int
)
::
error
type
(
c_ptr
),
intent
(
inout
)
::
memptr
integer
(
kind
=
c_
size
_t
),
intent
(
in
),
value
::
alignment
,
size
integer
(
kind
=
c_
intptr
_t
),
intent
(
in
),
value
::
alignment
,
size
end
function
end
interface
...
...
src/compute_hh_trafo.X90
View file @
08caccbc
...
...
@@ -117,7 +117,7 @@
integer(kind=c_intptr_t) :: a_dev
integer(kind=c_intptr_t) :: bcast_buffer_dev
integer(kind=c_
size
_t) :: dev_offset
integer(kind=c_
intptr
_t) :: dev_offset
integer(kind=c_intptr_t) :: hh_dot_dev
integer(kind=c_intptr_t) :: hh_tau_dev
! Private variables in OMP regions (my_thread) should better be in the argument list!
...
...
src/compute_hh_trafo_complex_gpu.X90
View file @
08caccbc
...
...
@@ -11,15 +11,15 @@
implicit none
real(kind=c_double), intent(inout) :: kernel_time ! MPI_WTIME always needs double
integer(kind=lik) :: kernel_flops
integer(kind=c_
size
_t) :: a_dev, bcast_buffer_dev, hh_tau_dev
integer(kind=c_
intptr
_t) :: a_dev, bcast_buffer_dev, hh_tau_dev
integer(kind=ik), intent(in) :: last_stripe_width
integer(kind=ik), intent(in) :: off, ncols, istripe
integer(kind=ik) :: nl, a_dim2, n_times, nbw, stripe_count, stripe_width
real(kind=c_double) :: ttt ! MPI_WTIME always needs double
integer(kind=ik) :: a_off
integer(kind=c_
size
_t) :: dev_offset, dev_offset_1, dev_offset_2
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t) :: dev_offset, dev_offset_1, dev_offset_2
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
src/elpa1_trans_ev_template.X90
View file @
08caccbc
...
...
@@ -160,7 +160,7 @@
integer(kind=C_intptr_T) :: q_dev, tmp_dev, hvm_dev, tmat_dev
logical :: successCUDA
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
src/elpa1_tridiag_template.X90
View file @
08caccbc
...
...
@@ -155,7 +155,7 @@
integer(kind=ik) :: istep, i, j, l_col_beg, l_col_end, l_row_beg, l_row_end
integer(kind=ik) :: tile_size, l_rows_per_tile, l_cols_per_tile
integer(kind=c_
size
_t) :: a_offset
integer(kind=c_
intptr
_t) :: a_offset
#ifdef WITH_OPENMP
integer(kind=ik) :: my_thread, n_threads, max_threads, n_iter
...
...
@@ -208,7 +208,7 @@
#endif
integer(kind=ik) :: istat
character(200) :: errorMessage
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
@@ -852,8 +852,8 @@
!successCUDA = cuda_threadsynchronize()
!check_memcpy_cuda("tridiag: a_dev 4a5a", successCUDA)
successCUDA = cuda_memcpy(a_dev + a_offset, int(loc(a_mat(l_rows, l_cols)),kind=c_
size
_t), &
int(1 * size_of_datatype, kind=c_
size
_t), cudaMemcpyHostToDevice)
successCUDA = cuda_memcpy(a_dev + a_offset, int(loc(a_mat(l_rows, l_cols)),kind=c_
intptr
_t), &
int(1 * size_of_datatype, kind=c_
intptr
_t), cudaMemcpyHostToDevice)
check_memcpy_cuda("tridiag: a_dev 4", successCUDA)
endif
endif
...
...
src/elpa2_bandred_template.X90
View file @
08caccbc
...
...
@@ -198,9 +198,9 @@
#endif
integer(kind=ik) :: ierr
integer(kind=ik) :: cur_l_rows, cur_l_cols, vmr_size, umc_size
integer(kind=c_
size
_t) :: lc_start, lc_end
integer(kind=c_
intptr
_t) :: lc_start, lc_end
#if COMPLEXCASE == 1
integer(kind=c_
size
_t) :: lce_1, lcs_1, lre_1
integer(kind=c_
intptr
_t) :: lce_1, lcs_1, lre_1
#endif
integer(kind=ik) :: lr_end
integer(kind=ik) :: na_cols
...
...
@@ -219,7 +219,7 @@
#endif
integer(kind=ik) :: mystart, myend, m_way, n_way, work_per_thread, m_id, n_id, n_threads, &
ii, pp, transformChunkSize
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
@@ -581,26 +581,26 @@
lda * size_of_datatype, &
#endif
#if COMPLEXCASE == 1
int((lda*size_of_datatype),kind=c_
size
_t), &
int((lda*size_of_datatype),kind=c_
intptr
_t), &
#endif
#if REALCASE == 1
(a_dev + ((lc_start-1) * lda*size_of_datatype)), &
#endif
#if COMPLEXCASE == 1
(a_dev + int( ( (lc_start-1) * lda*size_of_datatype),kind=c_
size
_t )), &
(a_dev + int( ( (lc_start-1) * lda*size_of_datatype),kind=c_
intptr
_t )), &
#endif
#if REALCASE == 1
lda*size_of_datatype, lr_end*size_of_datatype, &
#endif
#if COMPLEXCASE == 1
int(lda*size_of_datatype,kind=c_
size
_t), &
int(lr_end*size_of_datatype,kind=c_
size
_t), &
int(lda*size_of_datatype,kind=c_
intptr
_t), &
int(lr_end*size_of_datatype,kind=c_
intptr
_t), &
#endif
#if REALCASE == 1
(lc_end - lc_start+1), cudaMemcpyDeviceToHost)
#endif
#if COMPLEXCASE == 1
int((lc_end - lc_start+1),kind=c_
size
_t),int(cudaMemcpyDeviceToHost,kind=c_int))
int((lc_end - lc_start+1),kind=c_
intptr
_t),int(cudaMemcpyDeviceToHost,kind=c_int))
#endif
...
...
@@ -950,26 +950,26 @@
((lc_start-1)*lda*size_of_datatype)), &
#endif
#if COMPLEXCASE == 1
int(((lc_start-1)*lda*size_of_datatype),kind=c_
size
_t)), &
int(((lc_start-1)*lda*size_of_datatype),kind=c_
intptr
_t)), &
#endif
#if REALCASE == 1
lda*size_of_datatype, loc(a(1, lc_start)), &
#endif
#if COMPLEXCASE == 1
int(lda*size_of_datatype,kind=c_
size
_t), loc(a(1,lc_start)), &
int(lda*size_of_datatype,kind=c_
intptr
_t), loc(a(1,lc_start)), &
#endif
#if REALCASE == 1
lda*size_of_datatype, lr_end*size_of_datatype, &
#endif
#if COMPLEXCASE == 1
int(lda*size_of_datatype,kind=c_
size
_t), &
int(lr_end*size_of_datatype,kind=c_
size
_t), &
int(lda*size_of_datatype,kind=c_
intptr
_t), &
int(lr_end*size_of_datatype,kind=c_
intptr
_t), &
#endif
#if REALCASE == 1
(lc_end - lc_start+1),cudaMemcpyHostToDevice)
#endif
#if COMPLEXCASE == 1
int((lc_end - lc_start+1),kind=c_
size
_t), &
int((lc_end - lc_start+1),kind=c_
intptr
_t), &
int(cudaMemcpyHostToDevice,kind=c_int))
#endif
...
...
src/elpa2_trans_ev_band_to_full_template.X90
View file @
08caccbc
...
...
@@ -182,7 +182,7 @@
integer(kind=ik) :: istat
character(200) :: errorMessage
logical :: successCUDA
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
src/elpa2_trans_ev_tridi_to_band_template.X90
View file @
08caccbc
...
...
@@ -154,8 +154,8 @@
integer(kind=c_intptr_t) :: aIntern_dev
integer(kind=c_intptr_t) :: bcast_buffer_dev
integer(kind=c_
size
_t) :: num
integer(kind=c_
size
_t) :: dev_offset, dev_offset_1, dev_offset_2
integer(kind=c_
intptr
_t) :: num
integer(kind=c_
intptr
_t) :: dev_offset, dev_offset_1, dev_offset_2
integer(kind=c_intptr_t) :: row_dev
integer(kind=c_intptr_t) :: row_group_dev
integer(kind=c_intptr_t) :: hh_tau_dev
...
...
@@ -225,7 +225,7 @@
#ifndef WITH_MPI
integer(kind=ik) :: j1
#endif
integer(kind=c_
size
_t), parameter :: size_of_datatype = size_of_&
integer(kind=c_
intptr
_t), parameter :: size_of_datatype = size_of_&
&PRECISION&
&_&
&MATH_DATATYPE
...
...
@@ -593,7 +593,7 @@
#endif
#ifdef WITH_OPENMP
if (posix_memalign(aIntern_ptr, 64_
C_SIZE_T
, stripe_width*a_dim2*stripe_count*max_threads* &
if (posix_memalign(aIntern_ptr, 64_
c_intptr_t
, stripe_width*a_dim2*stripe_count*max_threads* &
#if REALCASE == 1
C_SIZEOF(a_real)) /= 0) then
#endif
...
...
@@ -613,7 +613,7 @@
#else /* WITH_OPENMP */
if (posix_memalign(aIntern_ptr, 64_
C_SIZE_T
, stripe_width*a_dim2*stripe_count* &
if (posix_memalign(aIntern_ptr, 64_
c_intptr_t
, stripe_width*a_dim2*stripe_count* &
#if REALCASE == 1
C_SIZEOF(a_real)) /= 0) then
#endif
...
...
src/interface_c_kernel.F90
View file @
08caccbc
...
...
@@ -259,9 +259,9 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_dot
integer
(
C_SIZE_T
),
value
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_dot
integer
(
c_intptr_t
),
value
::
hh_tau
,
hh
end
subroutine
end
interface
...
...
@@ -274,9 +274,9 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_dot
integer
(
C_SIZE_T
),
value
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_dot
integer
(
c_intptr_t
),
value
::
hh_tau
,
hh
end
subroutine
end
interface
...
...
@@ -290,8 +290,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
,
hh
end
subroutine
end
interface
...
...
@@ -305,8 +305,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
,
hh
end
subroutine
end
interface
...
...
@@ -321,8 +321,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
,
hh
,
hh_dot
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
,
hh
,
hh_dot
end
subroutine
end
interface
...
...
@@ -336,8 +336,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
),
value
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
),
value
::
q
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
,
hh
,
hh_dot
integer
(
kind
=
c_
intptr
_t
),
value
::
q
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
,
hh
,
hh_dot
end
subroutine
end
interface
...
...
@@ -448,8 +448,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
),
value
::
hh
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
integer
(
kind
=
c_
intptr
_t
),
value
::
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
integer
(
kind
=
c_int
),
value
::
nb
,
n
integer
(
kind
=
c_int
),
value
::
is_zero
...
...
@@ -463,8 +463,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
),
value
::
hh
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
integer
(
kind
=
c_
intptr
_t
),
value
::
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
integer
(
kind
=
c_int
),
value
::
nb
,
n
integer
(
kind
=
c_int
),
value
::
is_zero
...
...
@@ -575,8 +575,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
),
value
::
hh
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
integer
(
kind
=
c_
intptr
_t
),
value
::
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
integer
(
kind
=
c_int
),
value
::
nb
,
n
integer
(
kind
=
c_int
),
value
::
is_zero
...
...
@@ -592,8 +592,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
),
value
::
hh
integer
(
kind
=
c_
size
_t
),
value
::
hh_tau
integer
(
kind
=
c_
intptr
_t
),
value
::
hh
integer
(
kind
=
c_
intptr
_t
),
value
::
hh_tau
integer
(
kind
=
c_int
),
value
::
nb
,
n
integer
(
kind
=
c_int
),
value
::
is_zero
...
...
@@ -801,9 +801,9 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_dot
integer
(
C_SIZE_T
)
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_dot
integer
(
c_intptr_t
)
::
hh_tau
,
hh
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_real_c_double
(
q
,
hh
,
hh_dot
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -816,9 +816,9 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_dot
integer
(
C_SIZE_T
)
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_dot
integer
(
c_intptr_t
)
::
hh_tau
,
hh
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_real_c_single
(
q
,
hh
,
hh_dot
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -832,8 +832,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
,
hh
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_complex_c_double
(
q
,
hh
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -846,8 +846,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_tau
,
hh
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
,
hh
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_complex_c_single
(
q
,
hh
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -862,8 +862,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_tau
,
hh
,
hh_dot
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
,
hh
,
hh_dot
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_complex_1_c_double
(
q
,
hh
,
hh_dot
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -876,8 +876,8 @@ module cuda_c_kernel
implicit
none
integer
(
kind
=
c_int
)
::
nev
,
nb
,
ldq
,
off
,
ncols
integer
(
kind
=
c_
size
_t
)
::
q
integer
(
kind
=
c_
size
_t
)
::
hh_tau
,
hh
,
hh_dot
integer
(
kind
=
c_
intptr
_t
)
::
q
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
,
hh
,
hh_dot
#ifdef WITH_GPU_VERSION
call
launch_compute_hh_trafo_c_kernel_complex_1_c_single
(
q
,
hh
,
hh_dot
,
hh_tau
,
nev
,
nb
,
ldq
,
off
,
ncols
)
#endif
...
...
@@ -991,8 +991,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
)
::
hh
integer
(
kind
=
c_
size
_t
)
::
hh_tau
integer
(
kind
=
c_
intptr
_t
)
::
hh
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
integer
(
kind
=
c_int
)
::
nb
,
n
integer
(
kind
=
c_int
)
::
is_zero
#ifdef WITH_GPU_VERSION
...
...
@@ -1006,8 +1006,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
)
::
hh
integer
(
kind
=
c_
size
_t
)
::
hh_tau
integer
(
kind
=
c_
intptr
_t
)
::
hh
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
integer
(
kind
=
c_int
)
::
nb
,
n
integer
(
kind
=
c_int
)
::
is_zero
#ifdef WITH_GPU_VERSION
...
...
@@ -1121,8 +1121,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
)
::
hh
integer
(
kind
=
c_
size
_t
)
::
hh_tau
integer
(
kind
=
c_
intptr
_t
)
::
hh
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
integer
(
kind
=
c_int
)
::
nb
,
n
integer
(
kind
=
c_int
)
::
is_zero
#ifdef WITH_GPU_VERSION
...
...
@@ -1136,8 +1136,8 @@ module cuda_c_kernel
use
iso_c_binding
implicit
none
integer
(
kind
=
c_
size
_t
)
::
hh
integer
(
kind
=
c_
size
_t
)
::
hh_tau
integer
(
kind
=
c_
intptr
_t
)
::
hh
integer
(
kind
=
c_
intptr
_t
)
::
hh_tau
integer
(
kind
=
c_int
)
::
nb
,
n
integer
(
kind
=
c_int
)
::
is_zero
#ifdef WITH_GPU_VERSION
...
...
src/interface_cuda.F90
View file @
08caccbc
...
...
@@ -105,8 +105,8 @@ module cuda_routines
use
iso_c_binding
implicit
none
integer
(
C_SIZE_T
)
::
a
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
width_height
integer
(
c_intptr_t
)
::
a
integer
(
c_intptr_t
),
intent
(
in
),
value
::
width_height
integer
(
C_INT
)
::
istat
end
function
cuda_malloc_c
...
...
@@ -120,8 +120,8 @@ module cuda_routines
! use iso_c_binding
! implicit none
!
! integer(
C_SIZE_T
) :: a
! integer(
C_SIZE_T
), intent(in), value :: size
! integer(
c_intptr_t
) :: a
! integer(
c_intptr_t
), intent(in), value :: size
! integer(C_INT) :: istat
!
! end function cuda_hostalloc
...
...
@@ -132,8 +132,8 @@ module cuda_routines
! use iso_c_binding
!
! implicit none
! integer(
C_SIZE_T
) :: a
! integer(
C_SIZE_T
), intent(in), value :: size
! integer(
c_intptr_t
) :: a
! integer(
c_intptr_t
), intent(in), value :: size
! integer(C_INT), intent(in),value :: dir
! integer(C_INT) :: istat
! end function cuda_hostregister
...
...
@@ -146,8 +146,8 @@ module cuda_routines
! use iso_c_binding
!
! implicit none
! integer(
C_SIZE_T
) :: a
! integer(
C_SIZE_T
), intent(in), value :: width_height
! integer(
c_intptr_t
) :: a
! integer(
c_intptr_t
), intent(in), value :: width_height
! integer(C_INT) :: istat
!
! end function cuda_malloc_2d
...
...
@@ -160,10 +160,10 @@ module cuda_routines
! use iso_c_binding
!
! implicit none
! integer(
C_SIZE_T
) :: a
! integer(
C_SIZE_T
) :: pitch
! integer(
C_SIZE_T
), value :: width
! integer(
C_SIZE_T
), value :: height
! integer(
c_intptr_t
) :: a
! integer(
c_intptr_t
) :: pitch
! integer(
c_intptr_t
), value :: width
! integer(
c_intptr_t
), value :: height
! integer(C_INT) :: istat
!
! end function cuda_malloc2d_pitch
...
...
@@ -177,8 +177,8 @@ module cuda_routines
!
! implicit none
!
! integer(
C_SIZE_T
) :: a
! integer(
C_SIZE_T
), value :: width_height_depth
! integer(
c_intptr_t
) :: a
! integer(
c_intptr_t
), value :: width_height_depth
! integer(C_INT) :: istat
!
! end function cuda_malloc_3d
...
...
@@ -191,7 +191,7 @@ module cuda_routines
use
iso_c_binding
implicit
none
integer
(
C_SIZE_T
),
value
::
a
integer
(
c_intptr_t
),
value
::
a
integer
(
C_INT
)
::
istat
end
function
cuda_free_c
...
...
@@ -203,7 +203,7 @@ module cuda_routines
! use iso_c_binding
!
! implicit none
! integer(
C_SIZE_T
) :: a
! integer(
c_intptr_t
) :: a
! integer(C_INT) :: istat
! end function cuda_freehost
...
...
@@ -215,9 +215,9 @@ module cuda_routines
use
iso_c_binding
implicit
none
integer
(
C_SIZE_T
),
value
::
dst
integer
(
C_SIZE_T
),
value
::
src
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
size
integer
(
c_intptr_t
),
value
::
dst
integer
(
c_intptr_t
),
value
::
src
integer
(
c_intptr_t
),
intent
(
in
),
value
::
size
integer
(
C_INT
),
intent
(
in
),
value
::
dir
integer
(
C_INT
)
::
istat
...
...
@@ -243,12 +243,12 @@ module cuda_routines
implicit
none
integer
(
C_SIZE_T
),
value
::
dst
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
dpitch
integer
(
C_SIZE_T
),
value
::
src
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
spitch
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
width
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
height
integer
(
c_intptr_t
),
value
::
dst
integer
(
c_intptr_t
),
intent
(
in
),
value
::
dpitch
integer
(
c_intptr_t
),
value
::
src
integer
(
c_intptr_t
),
intent
(
in
),
value
::
spitch
integer
(
c_intptr_t
),
intent
(
in
),
value
::
width
integer
(
c_intptr_t
),
intent
(
in
),
value
::
height
integer
(
C_INT
),
intent
(
in
),
value
::
dir
integer
(
C_INT
)
::
istat
...
...
@@ -263,14 +263,14 @@ module cuda_routines
!
! implicit none
!
! integer(
C_SIZE_T
), value :: dst
! integer(
C_SIZE_T
), intent(in), value :: dpitch
! integer(
C_SIZE_T
), value :: src
! integer(
C_SIZE_T
), intent(in), value :: spitch
! integer(
C_SIZE_T
), intent(in), value :: width
! integer(
C_SIZE_T
), intent(in), value :: height
! integer(
c_intptr_t
), value :: dst
! integer(
c_intptr_t
), intent(in), value :: dpitch
! integer(
c_intptr_t
), value :: src
! integer(
c_intptr_t
), intent(in), value :: spitch
! integer(
c_intptr_t
), intent(in), value :: width
! integer(
c_intptr_t
), intent(in), value :: height
! integer(C_INT), intent(in), value :: dir
! integer(
C_SIZE_T
),value :: stream
! integer(
c_intptr_t
),value :: stream
! integer(C_INT) :: istat
! end function
...
...
@@ -285,10 +285,10 @@ module cuda_routines
implicit
none
integer
(
C_SIZE_T
),
value
::
a
integer
(
c_intptr_t
),
value
::
a
!integer(C_INT) :: val
integer
(
C_INT
)
::
val
integer
(
C_SIZE_T
),
intent
(
in
),
value
::
size
integer
(
c_intptr_t
),
intent
(
in
),
value
::
size
integer
(
C_INT
)
::
istat
end
function
cuda_memset_c
...
...
@@ -300,9 +300,9 @@ module cuda_routines
! use iso_c_binding
!
! implicit none
! integer(
C_SIZE_T
) :: a
! integer(
c_intptr_t
) :: a
! integer(C_INT) :: val
! integer(
C_SIZE_T
), intent(in), value :: size
! integer(
c_intptr_t
), intent(in), value :: size
! integer(C_INT) :: istat
! end function c_memset
!
...
...
@@ -316,7 +316,7 @@ module cuda_routines
! integer(C_INT),value :: m,n,k
! integer(C_INT), intent(in), value :: lda,ldb,ldc
! real(C_DOUBLE),value :: alpha,beta
! integer(
C_SIZE_T
), value :: a, b, c
! integer(
c_intptr_t
), value :: a, b, c
! end subroutine cublas_dgemm
!
! subroutine cublas_dtrmm(side, uplo, trans, diag, m, n, alpha, a, lda, b, ldb) bind(C,name='cublasDtrmm')
...
...
@@ -328,7 +328,7 @@ module cuda_routines
! integer(C_INT),value :: m,n
! integer(C_INT), intent(in), value :: lda,ldb
! real(C_DOUBLE), value :: alpha
! integer(
C_SIZE_T
), value :: a, b
! integer(
c_intptr_t
), value :: a, b
! end subroutine cublas_dtrmm
!
! subroutine cublas_zgemm(cta, ctb, m, n, k, alpha, a, lda, b, ldb, beta, c,ldc) bind(C,name='cublasZgemm')
...
...
@@ -340,7 +340,7 @@ module cuda_routines
! integer(C_INT),value :: m,n,k
! integer(C_INT), intent(in), value :: lda,ldb,ldc
! complex(C_DOUBLE_COMPLEX),value :: alpha,beta