53 integer,
parameter,
public :: &
57 integer,
parameter,
public :: &
61 integer,
parameter,
public :: &
66 integer,
parameter,
public :: &
70 integer,
parameter,
public :: &
71 ACCEL_BLAS_LEFT = 0, &
74 integer,
parameter,
public :: &
75 ACCEL_BLAS_LOWER = 0, &
78 integer,
parameter,
public :: &
83 integer,
parameter,
public :: &
84 ACCEL_BLAS_DIAG_NON_UNIT = 0, &
91 subroutine cuda_blas_ddot(n, x, offx, incx, y, offy, incy, res, offres)
bind(c, name="oct_cuda_blas_ddot")
95 integer(c_int64_t),
intent(in) :: n
96 type(c_ptr),
intent(in) :: x
97 integer(c_int64_t),
intent(in) :: offx
98 integer(c_int64_t),
intent(in) :: incx
99 type(c_ptr),
intent(in) :: y
100 integer(c_int64_t),
intent(in) :: offy
101 integer(c_int64_t),
intent(in) :: incy
102 type(c_ptr),
intent(inout) :: res
103 integer(c_int64_t),
intent(in) :: offres
106 subroutine cuda_blas_zdotc(n, x, offx, incx, y, offy, incy, res, offres)
bind(c, name="oct_cuda_blas_zdotc")
110 integer(c_int64_t),
intent(in) :: n
111 type(c_ptr),
intent(in) :: x
112 integer(c_int64_t),
intent(in) :: offx
113 integer(c_int64_t),
intent(in) :: incx
114 type(c_ptr),
intent(in) :: y
115 integer(c_int64_t),
intent(in) :: offy
116 integer(c_int64_t),
intent(in) :: incy
117 type(c_ptr),
intent(inout) :: res
118 integer(c_int64_t),
intent(in) :: offres
121 subroutine cuda_blas_zdotu(n, x, offx, incx, y, offy, incy, res, offres)
bind(c, name="oct_cuda_blas_zdotu")
125 integer(c_int64_t),
intent(in) :: n
126 type(c_ptr),
intent(in) :: x
127 integer(c_int64_t),
intent(in) :: offx
128 integer(c_int64_t),
intent(in) :: incx
129 type(c_ptr),
intent(in) :: y
130 integer(c_int64_t),
intent(in) :: offy
131 integer(c_int64_t),
intent(in) :: incy
132 type(c_ptr),
intent(inout) :: res
133 integer(c_int64_t),
intent(in) :: offres
139 subroutine cuda_blas_dnrm2(n, x, offx, incx, res, offres)
bind(c, name="oct_cuda_blas_dnrm2")
143 integer(c_int64_t),
intent(in) :: n
144 type(c_ptr),
intent(in) :: x
145 integer(c_int64_t),
intent(in) :: offx
146 integer(c_int64_t),
intent(in) :: incx
147 type(c_ptr),
intent(inout) :: res
148 integer(c_int64_t),
intent(in) :: offres
151 subroutine cuda_blas_znrm2(n, x, offx, incx, res, offres)
bind(c, name="oct_cuda_blas_znrm2")
155 integer(c_int64_t),
intent(in) :: n
156 type(c_ptr),
intent(in) :: x
157 integer(c_int64_t),
intent(in) :: offx
158 integer(c_int64_t),
intent(in) :: incx
159 type(c_ptr),
intent(inout) :: res
160 integer(c_int64_t),
intent(in) :: offres
166 subroutine cuda_blas_dgemm(transa, transb, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc) &
167 bind(c, name="oct_cuda_blas_dgemm")
171 integer(c_int),
intent(in) :: transa
172 integer(c_int),
intent(in) :: transb
173 integer(c_int64_t),
intent(in) :: m
174 integer(c_int64_t),
intent(in) :: n
175 integer(c_int64_t),
intent(in) :: k
176 real(c_double),
intent(in) :: alpha
177 type(c_ptr),
intent(in) :: A
178 integer(c_int64_t),
intent(in) :: lda
179 type(c_ptr),
intent(in) :: B
180 integer(c_int64_t),
intent(in) :: ldb
181 real(c_double),
intent(in) :: beta
182 type(c_ptr),
intent(inout) :: C
183 integer(c_int64_t),
intent(in) :: ldc
186 subroutine cuda_blas_zgemm(transa, transb, m, n, k, alpha, A, lda, B, ldb, beta, C, ldc) &
187 bind(c, name="oct_cuda_blas_zgemm")
191 integer(c_int),
intent(in) :: transa
192 integer(c_int),
intent(in) :: transb
193 integer(c_int64_t),
intent(in) :: m
194 integer(c_int64_t),
intent(in) :: n
195 integer(c_int64_t),
intent(in) :: k
196 complex(c_double_complex),
intent(in) :: alpha
197 type(c_ptr),
intent(in) :: A
198 integer(c_int64_t),
intent(in) :: lda
199 type(c_ptr),
intent(in) :: B
200 integer(c_int64_t),
intent(in) :: ldb
201 complex(c_double_complex),
intent(in) :: beta
202 type(c_ptr),
intent(inout) :: C
203 integer(c_int64_t),
intent(in) :: ldc
210 subroutine cuda_blas_dgemv(transa, m, n, alpha, A, lda, x, incx, beta, y, incy) &
211 bind(c, name="oct_cuda_blas_dgemv")
215 integer(c_int),
intent(in) :: transa
216 integer(c_int64_t),
intent(in) :: m
217 integer(c_int64_t),
intent(in) :: n
218 real(c_double),
intent(in) :: alpha
219 type(c_ptr),
intent(in) :: A
220 integer(c_int64_t),
intent(in) :: lda
221 type(c_ptr),
intent(in) :: x
222 integer(c_int64_t),
intent(in) :: incx
223 real(c_double),
intent(in) :: beta
224 type(c_ptr),
intent(inout) :: y
225 integer(c_int64_t),
intent(in) :: incy
228 subroutine cuda_blas_zgemv(transa, m, n, alpha, A, lda, x, incx, beta, y, incy) &
229 bind(c, name="oct_cuda_blas_zgemv")
233 integer(c_int),
intent(in) :: transa
234 integer(c_int64_t),
intent(in) :: m
235 integer(c_int64_t),
intent(in) :: n
236 complex(c_double_complex),
intent(in) :: alpha
237 type(c_ptr),
intent(in) :: A
238 integer(c_int64_t),
intent(in) :: lda
239 type(c_ptr),
intent(in) :: x
240 integer(c_int64_t),
intent(in) :: incx
241 complex(c_double_complex),
intent(in) :: beta
242 type(c_ptr),
intent(inout) :: y
243 integer(c_int64_t),
intent(in) :: incy
248 subroutine cuda_blas_dsyrk(uplo, trans, n, k, alpha, A, lda, beta, C, ldc)
bind(c, name="oct_cuda_blas_dsyrk")
252 integer(c_int),
intent(in) :: uplo
253 integer(c_int),
intent(in) :: trans
254 integer(c_int64_t),
intent(in) :: n
255 integer(c_int64_t),
intent(in) :: k
256 real(c_double),
intent(in) :: alpha
257 type(c_ptr),
intent(in) :: A
258 integer(c_int64_t),
intent(in) :: lda
259 real(c_double),
intent(in) :: beta
260 type(c_ptr),
intent(inout) :: C
261 integer(c_int64_t),
intent(in) :: ldc
264 subroutine cuda_blas_zherk(uplo, trans, n, k, alpha, A, lda, beta, C, ldc)
bind(c, name="oct_cuda_blas_zherk")
268 integer(c_int),
intent(in) :: uplo
269 integer(c_int),
intent(in) :: trans
270 integer(c_int64_t),
intent(in) :: n
271 integer(c_int64_t),
intent(in) :: k
272 real(c_double),
intent(in) :: alpha
273 type(c_ptr),
intent(in) :: A
274 integer(c_int64_t),
intent(in) :: lda
275 real(c_double),
intent(in) :: beta
276 type(c_ptr),
intent(inout) :: C
277 integer(c_int64_t),
intent(in) :: ldc
283 subroutine cuda_blas_dtrsm(side, uplo, trans, diag, m, n, alpha, A, lda, B, ldb) &
284 bind(c, name="oct_cuda_blas_dtrsm")
288 integer(c_int),
intent(in) :: side
289 integer(c_int),
intent(in) :: uplo
290 integer(c_int),
intent(in) :: trans
291 integer(c_int),
intent(in) :: diag
292 integer(c_int64_t),
intent(in) :: m
293 integer(c_int64_t),
intent(in) :: n
294 real(c_double),
intent(in) :: alpha
295 type(c_ptr),
intent(in) :: A
296 integer(c_int64_t),
intent(in) :: lda
297 type(c_ptr),
intent(inout) :: B
298 integer(c_int64_t),
intent(in) :: ldb
301 subroutine cuda_blas_ztrsm(side, uplo, trans, diag, m, n, alpha, A, lda, B, ldb) &
302 bind(c, name="oct_cuda_blas_ztrsm")
306 integer(c_int),
intent(in) :: side
307 integer(c_int),
intent(in) :: uplo
308 integer(c_int),
intent(in) :: trans
309 integer(c_int),
intent(in) :: diag
310 integer(c_int64_t),
intent(in) :: m
311 integer(c_int64_t),
intent(in) :: n
312 complex(c_double_complex),
intent(in) :: alpha
313 type(c_ptr),
intent(in) :: A
314 integer(c_int64_t),
intent(in) :: lda
315 type(c_ptr),
intent(inout) :: B
316 integer(c_int64_t),
intent(in) :: ldb
323#include "complex.F90"
324#include "accel_blas_inc.F90"
328#include "accel_blas_inc.F90"
integer, parameter, public accel_blas_diag_unit
subroutine, public zaccel_trsm(side, uplo, trans, diag, m, n, alpha, a, offa, lda, b, offb, ldb)
subroutine, public daccel_gemv(transa, m, n, alpha, A, lda, x, incx, beta, y, incy)
subroutine, public daccel_dot(n, x, offx, incx, y, offy, incy, res, offres)
subroutine, public daccel_gemm(transa, transb, m, n, k, alpha, A, offa, lda, B, offb, ldb, beta, C, offc, ldc, async)
subroutine, public daccel_nrm2(n, x, offx, incx, res, offres)
subroutine, public daccel_trsm(side, uplo, trans, diag, m, n, alpha, a, offa, lda, b, offb, ldb)
subroutine, public zaccel_nrm2(n, x, offx, incx, res, offres)
integer, parameter, public accel_blas_right
subroutine, public daccel_dotu(n, x, offx, incx, y, offy, incy, res, offres)
subroutine, public daccel_herk(uplo, trans, n, k, alpha, a, offa, lda, beta, c, offc, ldc)
subroutine, public zaccel_gemv(transa, m, n, alpha, A, lda, x, incx, beta, y, incy)
subroutine, public zaccel_dotu(n, x, offx, incx, y, offy, incy, res, offres)
integer, parameter, public accel_blas_upper
integer, parameter, public accel_blas_t
subroutine, public zaccel_gemm(transa, transb, m, n, k, alpha, A, offa, lda, B, offb, ldb, beta, C, offc, ldc, async)
integer, parameter, public accel_blas_c
subroutine, public zaccel_herk(uplo, trans, n, k, alpha, a, offa, lda, beta, c, offc, ldc)
subroutine, public zaccel_dot(n, x, offx, incx, y, offy, incy, res, offres)
integer, parameter, public cublas_side_left
integer, parameter, public cublas_fill_mode_upper
integer, parameter, public cublas_op_n
integer, parameter, public cublas_op_c
integer, parameter, public cublas_diag_non_unit
integer, parameter, public cublas_op_t
integer, parameter, public cublas_fill_mode_lower
integer, parameter, public cublas_side_right
integer, parameter, public cublas_diag_unit