CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
6215 lines
270 KiB
Fortran
6215 lines
270 KiB
Fortran
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
! Copyright (C) 2020 Advanced Micro Devices, Inc. All rights Reserved.
|
|
!
|
|
! Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
! of this software and associated documentation files (the "Software"), to deal
|
|
! in the Software without restriction, including without limitation the rights
|
|
! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
! copies of the Software, and to permit persons to whom the Software is
|
|
! furnished to do so, subject to the following conditions:
|
|
!
|
|
! The above copyright notice and this permission notice shall be included in
|
|
! all copies or substantial portions of the Software.
|
|
!
|
|
! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
! THE SOFTWARE.
|
|
!
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
module hipsparse
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
|
|
! ===========================================================================
|
|
! auxiliary SPARSE
|
|
! ===========================================================================
|
|
|
|
interface
|
|
|
|
! hipsparseHandle_t
|
|
function hipsparseCreate(handle) &
|
|
bind(c, name = 'hipsparseCreate')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreate
|
|
type(c_ptr) :: handle
|
|
end function hipsparseCreate
|
|
|
|
function hipsparseDestroy(handle) &
|
|
bind(c, name = 'hipsparseDestroy')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroy
|
|
type(c_ptr), value :: handle
|
|
end function hipsparseDestroy
|
|
|
|
! hipsparseVersion
|
|
function hipsparseGetVersion(handle, version) &
|
|
bind(c, name = 'hipsparseGetVersion')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetVersion
|
|
type(c_ptr), value :: handle
|
|
integer(c_int) :: version
|
|
end function hipsparseGetVersion
|
|
|
|
! hipsparseStream
|
|
function hipsparseSetStream(handle, stream) &
|
|
bind(c, name = 'hipsparseSetStream')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetStream
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: stream
|
|
end function hipsparseSetStream
|
|
|
|
function hipsparseGetStream(handle, stream) &
|
|
bind(c, name = 'hipsparseGetStream')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetStream
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr) :: stream
|
|
end function hipsparseGetStream
|
|
|
|
! hipsparsePointerMode_t
|
|
function hipsparseSetPointerMode(handle, mode) &
|
|
bind(c, name = 'hipsparseSetPointerMode')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetPointerMode
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mode
|
|
end function hipsparseSetPointerMode
|
|
|
|
function hipsparseGetPointerMode(handle, mode) &
|
|
bind(c, name = 'hipsparseGetPointerMode')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetPointerMode
|
|
type(c_ptr), value :: handle
|
|
integer(c_int) :: mode
|
|
end function hipsparseGetPointerMode
|
|
|
|
! hipsparseMatDescr_t
|
|
function hipsparseCreateMatDescr(descr) &
|
|
bind(c, name = 'hipsparseCreateMatDescr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateMatDescr
|
|
type(c_ptr) :: descr
|
|
end function hipsparseCreateMatDescr
|
|
|
|
function hipsparseDestroyMatDescr(descr) &
|
|
bind(c, name = 'hipsparseDestroyMatDescr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyMatDescr
|
|
type(c_ptr), value :: descr
|
|
end function hipsparseDestroyMatDescr
|
|
|
|
function hipsparseCopyMatDescr(dest, src) &
|
|
bind(c, name = 'hipsparseCopyMatDescr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCopyMatDescr
|
|
type(c_ptr), value :: dest
|
|
type(c_ptr), intent(in), value :: src
|
|
end function hipsparseCopyMatDescr
|
|
|
|
! hipsparseMatrixType_t
|
|
function hipsparseSetMatType(descr, mtype) &
|
|
bind(c, name = 'hipsparseSetMatType')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetMatType
|
|
type(c_ptr), value :: descr
|
|
integer(c_int), value :: mtype
|
|
end function hipsparseSetMatType
|
|
|
|
function hipsparseGetMatType(descr) &
|
|
bind(c, name = 'hipsparseGetMatType')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetMatType
|
|
type(c_ptr), intent(in), value :: descr
|
|
end function hipsparseGetMatType
|
|
|
|
! hipsparseFillMode_t
|
|
function hipsparseSetMatFillMode(descr, fill) &
|
|
bind(c, name = 'hipsparseSetMatFillMode')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetMatFillMode
|
|
type(c_ptr), value :: descr
|
|
integer(c_int), value :: fill
|
|
end function hipsparseSetMatFillMode
|
|
|
|
function hipsparseGetMatFillMode(descr) &
|
|
bind(c, name = 'hipsparseGetMatFillMode')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetMatFillMode
|
|
type(c_ptr), intent(in), value :: descr
|
|
end function hipsparseGetMatFillMode
|
|
|
|
! hipsparseDiagType_t
|
|
function hipsparseSetMatDiagType(descr, diag) &
|
|
bind(c, name = 'hipsparseSetMatDiagType')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetMatDiagType
|
|
type(c_ptr), value :: descr
|
|
integer(c_int), value :: diag
|
|
end function hipsparseSetMatDiagType
|
|
|
|
function hipsparseGetMatDiagType(descr) &
|
|
bind(c, name = 'hipsparseGetMatDiagType')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetMatDiagType
|
|
type(c_ptr), intent(in), value :: descr
|
|
end function hipsparseGetMatDiagType
|
|
|
|
! hipsparseIndexBase_t
|
|
function hipsparseSetMatIndexBase(descr, base) &
|
|
bind(c, name = 'hipsparseSetMatIndexBase')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSetMatIndexBase
|
|
type(c_ptr), value :: descr
|
|
integer(c_int), value :: base
|
|
end function hipsparseSetMatIndexBase
|
|
|
|
function hipsparseGetMatIndexBase(descr) &
|
|
bind(c, name = 'hipsparseGetMatIndexBase')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseGetMatIndexBase
|
|
type(c_ptr), intent(in), value :: descr
|
|
end function hipsparseGetMatIndexBase
|
|
|
|
! hipsparseHybMat_t
|
|
function hipsparseCreateHybMat(hyb) &
|
|
bind(c, name = 'hipsparseCreateHybMat')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateHybMat
|
|
type(c_ptr) :: hyb
|
|
end function hipsparseCreateHybMat
|
|
|
|
function hipsparseDestroyHybMat(hyb) &
|
|
bind(c, name = 'hipsparseDestroyHybMat')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyHybMat
|
|
type(c_ptr), value :: hyb
|
|
end function hipsparseDestroyHybMat
|
|
|
|
! csrsv2Info_t
|
|
function hipsparseCreateCsrsv2Info(info) &
|
|
bind(c, name = 'hipsparseCreateCsrsv2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateCsrsv2Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateCsrsv2Info
|
|
|
|
function hipsparseDestroyCsrsv2Info(info) &
|
|
bind(c, name = 'hipsparseDestroyCsrsv2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyCsrsv2Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyCsrsv2Info
|
|
|
|
! csrsm2Info_t
|
|
function hipsparseCreateCsrsm2Info(info) &
|
|
bind(c, name = 'hipsparseCreateCsrsm2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateCsrsm2Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateCsrsm2Info
|
|
|
|
function hipsparseDestroyCsrsm2Info(info) &
|
|
bind(c, name = 'hipsparseDestroyCsrsm2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyCsrsm2Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyCsrsm2Info
|
|
|
|
! bsrilu02Info_t
|
|
function hipsparseCreateBsrilu02Info(info) &
|
|
bind(c, name = 'hipsparseCreateBsrilu02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateBsrilu02Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateBsrilu02Info
|
|
|
|
function hipsparseDestroyBsrilu02Info(info) &
|
|
bind(c, name = 'hipsparseDestroyBsrilu02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyBsrilu02Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyBsrilu02Info
|
|
|
|
! csrilu02Info_t
|
|
function hipsparseCreateCsrilu02Info(info) &
|
|
bind(c, name = 'hipsparseCreateCsrilu02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateCsrilu02Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateCsrilu02Info
|
|
|
|
function hipsparseDestroyCsrilu02Info(info) &
|
|
bind(c, name = 'hipsparseDestroyCsrilu02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyCsrilu02Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyCsrilu02Info
|
|
|
|
! bsric02Info_t
|
|
function hipsparseCreateBsric02Info(info) &
|
|
bind(c, name = 'hipsparseCreateBsric02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateBsric02Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateBsric02Info
|
|
|
|
function hipsparseDestroyBsric02Info(info) &
|
|
bind(c, name = 'hipsparseDestroyBsric02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyBsric02Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyBsric02Info
|
|
|
|
! csric02Info_t
|
|
function hipsparseCreateCsric02Info(info) &
|
|
bind(c, name = 'hipsparseCreateCsric02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateCsric02Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateCsric02Info
|
|
|
|
function hipsparseDestroyCsric02Info(info) &
|
|
bind(c, name = 'hipsparseDestroyCsric02Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyCsric02Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyCsric02Info
|
|
|
|
! csrgemm2Info_t
|
|
function hipsparseCreateCsrgemm2Info(info) &
|
|
bind(c, name = 'hipsparseCreateCsrgemm2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateCsrgemm2Info
|
|
type(c_ptr) :: info
|
|
end function hipsparseCreateCsrgemm2Info
|
|
|
|
function hipsparseDestroyCsrgemm2Info(info) &
|
|
bind(c, name = 'hipsparseDestroyCsrgemm2Info')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDestroyCsrgemm2Info
|
|
type(c_ptr), value :: info
|
|
end function hipsparseDestroyCsrgemm2Info
|
|
|
|
! ===========================================================================
|
|
! level 1 SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXaxpyi
|
|
function hipsparseSaxpyi(handle, nnz, alpha, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseSaxpyi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSaxpyi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSaxpyi
|
|
|
|
function hipsparseDaxpyi(handle, nnz, alpha, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseDaxpyi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDaxpyi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDaxpyi
|
|
|
|
function hipsparseCaxpyi(handle, nnz, alpha, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseCaxpyi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCaxpyi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCaxpyi
|
|
|
|
function hipsparseZaxpyi(handle, nnz, alpha, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseZaxpyi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZaxpyi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZaxpyi
|
|
|
|
! hipsparseXdoti
|
|
function hipsparseSdoti(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseSdoti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSdoti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSdoti
|
|
|
|
function hipsparseDdoti(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseDdoti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDdoti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDdoti
|
|
|
|
function hipsparseCdoti(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseCdoti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCdoti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCdoti
|
|
|
|
function hipsparseZdoti(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseZdoti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZdoti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZdoti
|
|
|
|
! hipsparseXdotci
|
|
function hipsparseCdotci(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseCdotci')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCdotci
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCdotci
|
|
|
|
function hipsparseZdotci(handle, nnz, xVal, xInd, y, result, idxBase) &
|
|
bind(c, name = 'hipsparseZdotci')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZdotci
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: result
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZdotci
|
|
|
|
! hipsparseXgthr
|
|
function hipsparseSgthr(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseSgthr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgthr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSgthr
|
|
|
|
function hipsparseDgthr(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseDgthr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgthr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDgthr
|
|
|
|
function hipsparseCgthr(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseCgthr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgthr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCgthr
|
|
|
|
function hipsparseZgthr(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseZgthr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgthr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZgthr
|
|
|
|
! hipsparseXgthrz
|
|
function hipsparseSgthrz(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseSgthrz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgthrz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSgthrz
|
|
|
|
function hipsparseDgthrz(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseDgthrz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgthrz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDgthrz
|
|
|
|
function hipsparseCgthrz(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseCgthrz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgthrz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCgthrz
|
|
|
|
function hipsparseZgthrz(handle, nnz, y, xVal, xInd, idxBase) &
|
|
bind(c, name = 'hipsparseZgthrz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgthrz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZgthrz
|
|
|
|
! hipsparseXroti
|
|
function hipsparseSroti(handle, nnz, xVal, xInd, y, c, s, idxBase) &
|
|
bind(c, name = 'hipsparseSroti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSroti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), intent(in), value :: c
|
|
type(c_ptr), intent(in), value :: s
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSroti
|
|
|
|
function hipsparseDroti(handle, nnz, xVal, xInd, y, c, s, idxBase) &
|
|
bind(c, name = 'hipsparseDroti')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDroti
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
type(c_ptr), intent(in), value :: c
|
|
type(c_ptr), intent(in), value :: s
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDroti
|
|
|
|
! hipsparseXsctr
|
|
function hipsparseSsctr(handle, nnz, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseSsctr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSsctr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseSsctr
|
|
|
|
function hipsparseDsctr(handle, nnz, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseDsctr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDsctr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDsctr
|
|
|
|
function hipsparseCsctr(handle, nnz, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseCsctr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCsctr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCsctr
|
|
|
|
function hipsparseZsctr(handle, nnz, xVal, xInd, y, idxBase) &
|
|
bind(c, name = 'hipsparseZsctr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZsctr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: xVal
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZsctr
|
|
|
|
! ===========================================================================
|
|
! level 2 SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXcsrmv
|
|
function hipsparseScsrmv(handle, trans, m, n, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, x, beta, y) &
|
|
bind(c, name = 'hipsparseScsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseScsrmv
|
|
|
|
function hipsparseDcsrmv(handle, trans, m, n, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, x, beta, y) &
|
|
bind(c, name = 'hipsparseDcsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseDcsrmv
|
|
|
|
function hipsparseCcsrmv(handle, trans, m, n, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, x, beta, y) &
|
|
bind(c, name = 'hipsparseCcsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseCcsrmv
|
|
|
|
function hipsparseZcsrmv(handle, trans, m, n, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, x, beta, y) &
|
|
bind(c, name = 'hipsparseZcsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseZcsrmv
|
|
|
|
! hipsparseXcsrsv2_zeroPivot
|
|
function hipsparseXcsrsv2_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXcsrsv2_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrsv2_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXcsrsv2_zeroPivot
|
|
|
|
! hipsparseXcsrsv2_bufferSize
|
|
function hipsparseScsrsv2_bufferSize(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrsv2_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsv2_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrsv2_bufferSize
|
|
|
|
function hipsparseDcsrsv2_bufferSize(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrsv2_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsv2_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrsv2_bufferSize
|
|
|
|
function hipsparseCcsrsv2_bufferSize(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrsv2_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsv2_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrsv2_bufferSize
|
|
|
|
function hipsparseZcsrsv2_bufferSize(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrsv2_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsv2_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrsv2_bufferSize
|
|
|
|
! hipsparseXcsrsv2_bufferSizeExt
|
|
function hipsparseScsrsv2_bufferSizeExt(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrsv2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsv2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrsv2_bufferSizeExt
|
|
|
|
function hipsparseDcsrsv2_bufferSizeExt(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrsv2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsv2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrsv2_bufferSizeExt
|
|
|
|
function hipsparseCcsrsv2_bufferSizeExt(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrsv2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsv2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrsv2_bufferSizeExt
|
|
|
|
function hipsparseZcsrsv2_bufferSizeExt(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrsv2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsv2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrsv2_bufferSizeExt
|
|
|
|
! hipsparseXcsrsv2_analysis
|
|
function hipsparseScsrsv2_analysis(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsrsv2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsv2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrsv2_analysis
|
|
|
|
function hipsparseDcsrsv2_analysis(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsrsv2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsv2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrsv2_analysis
|
|
|
|
function hipsparseCcsrsv2_analysis(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsrsv2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsv2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrsv2_analysis
|
|
|
|
function hipsparseZcsrsv2_analysis(handle, trans, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsrsv2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsv2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrsv2_analysis
|
|
|
|
! hipsparseXcsrsv2_solve
|
|
function hipsparseScsrsv2_solve(handle, trans, m, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, x, y, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsrsv2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsv2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrsv2_solve
|
|
|
|
function hipsparseDcsrsv2_solve(handle, trans, m, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, x, y, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsrsv2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsv2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrsv2_solve
|
|
|
|
function hipsparseCcsrsv2_solve(handle, trans, m, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, x, y, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsrsv2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsv2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrsv2_solve
|
|
|
|
function hipsparseZcsrsv2_solve(handle, trans, m, nnz, alpha, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, x, y, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsrsv2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsv2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrsv2_solve
|
|
|
|
! hipsparseXhybmv
|
|
function hipsparseShybmv(handle, trans, alpha, descr, hyb, x, beta, y) &
|
|
bind(c, name = 'hipsparseShybmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseShybmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: hyb
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseShybmv
|
|
|
|
function hipsparseDhybmv(handle, trans, alpha, descr, hyb, x, beta, y) &
|
|
bind(c, name = 'hipsparseDhybmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDhybmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: hyb
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseDhybmv
|
|
|
|
function hipsparseChybmv(handle, trans, alpha, descr, hyb, x, beta, y) &
|
|
bind(c, name = 'hipsparseChybmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseChybmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: hyb
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseChybmv
|
|
|
|
function hipsparseZhybmv(handle, trans, alpha, descr, hyb, x, beta, y) &
|
|
bind(c, name = 'hipsparseZhybmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZhybmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: trans
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: hyb
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseZhybmv
|
|
|
|
! hipsparseXbsrmv
|
|
function hipsparseSbsrmv(handle, dir, trans, mb, nb, nnzb, alpha, descr, &
|
|
bsrVal, bsrRowPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseSbsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseSbsrmv
|
|
|
|
function hipsparseDbsrmv(handle, dir, trans, mb, nb, nnzb, alpha, descr, &
|
|
bsrVal, bsrRowPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseDbsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseDbsrmv
|
|
|
|
function hipsparseCbsrmv(handle, dir, trans, mb, nb, nnzb, alpha, descr, &
|
|
bsrVal, bsrRowPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseCbsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseCbsrmv
|
|
|
|
function hipsparseZbsrmv(handle, dir, trans, mb, nb, nnzb, alpha, descr, &
|
|
bsrVal, bsrRowPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseZbsrmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseZbsrmv
|
|
|
|
|
|
! hipsparseXbsrxmv
|
|
function hipsparseSbsrxmv(handle, dir, trans, sizeOfMask, &
|
|
mb, nb, nnzb, alpha, descr, bsrVal, &
|
|
bsrMaskPtr, bsrRowPtr, bsrEndPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseSbsrxmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrxmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: sizeOfMask
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrMaskPtr
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrEndPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseSbsrxmv
|
|
|
|
function hipsparseDbsrxmv(handle, dir, trans, sizeOfMask, &
|
|
mb, nb, nnzb, alpha, descr, bsrVal, &
|
|
bsrMaskPtr, bsrRowPtr, bsrEndPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseDbsrxmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrxmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: sizeOfMask
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrMaskPtr
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrEndPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseDbsrxmv
|
|
|
|
function hipsparseCbsrxmv(handle, dir, trans, sizeOfMask, &
|
|
mb, nb, nnzb, alpha, descr, bsrVal, &
|
|
bsrMaskPtr, bsrRowPtr, bsrEndPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseCbsrxmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrxmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: sizeOfMask
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrMaskPtr
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrEndPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseCbsrxmv
|
|
|
|
function hipsparseZbsrxmv(handle, dir, trans, sizeOfMask, &
|
|
mb, nb, nnzb, alpha, descr, bsrVal, &
|
|
bsrMaskPtr, bsrRowPtr, bsrEndPtr, bsrColInd, blockDim, x, beta, y) &
|
|
bind(c, name = 'hipsparseZbsrxmv')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrxmv
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: trans
|
|
integer(c_int), value :: sizeOfMask
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrMaskPtr
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrEndPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
end function hipsparseZbsrxmv
|
|
|
|
function hipsparseSgemvi_bufferSize(handle, transA, m, n, nnz, pBufferSizeInBytes) &
|
|
bind(c, name = 'hipsparseSgemvi_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgemvi_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: pBufferSizeInBytes
|
|
end function hipsparseSgemvi_bufferSize
|
|
|
|
function hipsparseDgemvi_bufferSize(handle, transA, m, n, nnz, pBufferSizeInBytes) &
|
|
bind(c, name = 'hipsparseDgemvi_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgemvi_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: pBufferSizeInBytes
|
|
end function hipsparseDgemvi_bufferSize
|
|
|
|
function hipsparseCgemvi_bufferSize(handle, transA, m, n, nnz, pBufferSizeInBytes) &
|
|
bind(c, name = 'hipsparseCgemvi_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgemvi_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: pBufferSizeInBytes
|
|
end function hipsparseCgemvi_bufferSize
|
|
|
|
function hipsparseZgemvi_bufferSize(handle, transA, m, n, nnz, pBufferSizeInBytes) &
|
|
bind(c, name = 'hipsparseZgemvi_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgemvi_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: pBufferSizeInBytes
|
|
end function hipsparseZgemvi_bufferSize
|
|
|
|
function hipsparseSgemvi(handle, transA, m, n, alpha, A, lda, nnz, x, xInd, &
|
|
beta, y, idxBase, pBuffer) &
|
|
bind(c, name = 'hipsparseSgemvi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgemvi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
type(c_ptr), value :: pBuffer
|
|
end function hipsparseSgemvi
|
|
|
|
function hipsparseDgemvi(handle, transA, m, n, alpha, A, lda, nnz, x, xInd, &
|
|
beta, y, idxBase, pBuffer) &
|
|
bind(c, name = 'hipsparseDgemvi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgemvi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
type(c_ptr), value :: pBuffer
|
|
end function hipsparseDgemvi
|
|
|
|
function hipsparseCgemvi(handle, transA, m, n, alpha, A, lda, nnz, x, xInd, &
|
|
beta, y, idxBase, pBuffer) &
|
|
bind(c, name = 'hipsparseCgemvi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgemvi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
type(c_ptr), value :: pBuffer
|
|
end function hipsparseCgemvi
|
|
|
|
function hipsparseZgemvi(handle, transA, m, n, alpha, A, lda, nnz, x, xInd, &
|
|
beta, y, idxBase, pBuffer) &
|
|
bind(c, name = 'hipsparseZgemvi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgemvi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: x
|
|
type(c_ptr), intent(in), value :: xInd
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: y
|
|
integer(c_int), value :: idxBase
|
|
type(c_ptr), value :: pBuffer
|
|
end function hipsparseZgemvi
|
|
|
|
! ===========================================================================
|
|
! level 3 SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXbsrmm
|
|
function hipsparseSbsrmm(handle, dirA, transA, transB, mb, n, kb, nnzb, alpha, descrA, bsrValA, &
|
|
bsrRowPtrA, bsrColIndA, blockDim, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseSbsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: kb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseSbsrmm
|
|
|
|
function hipsparseDbsrmm(handle, dirA, transA, transB, mb, n, kb, nnzb, alpha, descrA, bsrValA, &
|
|
bsrRowPtrA, bsrColIndA, blockDim, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseDbsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: kb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseDbsrmm
|
|
|
|
function hipsparseCbsrmm(handle, dirA, transA, transB, mb, n, kb, nnzb, alpha, descrA, bsrValA, &
|
|
bsrRowPtrA, bsrColIndA, blockDim, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseCbsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: kb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseCbsrmm
|
|
|
|
function hipsparseZbsrmm(handle, dirA, transA, transB, mb, n, kb, nnzb, alpha, descrA, bsrValA, &
|
|
bsrRowPtrA, bsrColIndA, blockDim, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseZbsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: kb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseZbsrmm
|
|
|
|
! hipsparseXcsrmm
|
|
function hipsparseScsrmm(handle, transA, m, n, k, nnz, alpha, descrA, csrValA, &
|
|
csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseScsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseScsrmm
|
|
|
|
function hipsparseDcsrmm(handle, transA, m, n, k, nnz, alpha, descrA, csrValA, &
|
|
csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseDcsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseDcsrmm
|
|
|
|
function hipsparseCcsrmm(handle, transA, m, n, k, nnz, alpha, descrA, csrValA, &
|
|
csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseCcsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseCcsrmm
|
|
|
|
function hipsparseZcsrmm(handle, transA, m, n, k, nnz, alpha, descrA, csrValA, &
|
|
csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseZcsrmm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrmm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseZcsrmm
|
|
|
|
! hipsparseXcsrmm2
|
|
function hipsparseScsrmm2(handle, transA, transB, m, n, k, nnz, alpha, descrA, &
|
|
csrValA, csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseScsrmm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrmm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseScsrmm2
|
|
|
|
function hipsparseDcsrmm2(handle, transA, transB, m, n, k, nnz, alpha, descrA, &
|
|
csrValA, csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseDcsrmm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrmm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseDcsrmm2
|
|
|
|
function hipsparseCcsrmm2(handle, transA, transB, m, n, k, nnz, alpha, descrA, &
|
|
csrValA, csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseCcsrmm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrmm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseCcsrmm2
|
|
|
|
function hipsparseZcsrmm2(handle, transA, transB, m, n, k, nnz, alpha, descrA, &
|
|
csrValA, csrRowPtrA, csrColIndA, B, ldb, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseZcsrmm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrmm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseZcsrmm2
|
|
|
|
! hipsparseXcsrsm2_zeroPivot
|
|
function hipsparseXcsrsm2_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXcsrsm2_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrsm2_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXcsrsm2_zeroPivot
|
|
|
|
! hipsparseXcsrsm2_bufferSizeExt
|
|
function hipsparseScsrsm2_bufferSizeExt(handle, algo, transA, transB, m, nrhs, &
|
|
nnz, alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, &
|
|
policy, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrsm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrsm2_bufferSizeExt
|
|
|
|
function hipsparseDcsrsm2_bufferSizeExt(handle, algo, transA, transB, m, nrhs, &
|
|
nnz, alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, &
|
|
policy, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrsm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrsm2_bufferSizeExt
|
|
|
|
function hipsparseCcsrsm2_bufferSizeExt(handle, algo, transA, transB, m, nrhs, &
|
|
nnz, alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, &
|
|
policy, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrsm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrsm2_bufferSizeExt
|
|
|
|
function hipsparseZcsrsm2_bufferSizeExt(handle, algo, transA, transB, m, nrhs, &
|
|
nnz, alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, &
|
|
policy, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrsm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrsm2_bufferSizeExt
|
|
|
|
! hipsparseXcsrsm2_analysis
|
|
function hipsparseScsrsm2_analysis(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseScsrsm2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsm2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrsm2_analysis
|
|
|
|
function hipsparseDcsrsm2_analysis(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseDcsrsm2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsm2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrsm2_analysis
|
|
|
|
function hipsparseCcsrsm2_analysis(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseCcsrsm2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsm2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrsm2_analysis
|
|
|
|
function hipsparseZcsrsm2_analysis(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseZcsrsm2_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsm2_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrsm2_analysis
|
|
|
|
! hipsparseXcsrsm2_solve
|
|
function hipsparseScsrsm2_solve(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseScsrsm2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrsm2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrsm2_solve
|
|
|
|
function hipsparseDcsrsm2_solve(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseDcsrsm2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrsm2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrsm2_solve
|
|
|
|
function hipsparseCcsrsm2_solve(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseCcsrsm2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrsm2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrsm2_solve
|
|
|
|
function hipsparseZcsrsm2_solve(handle, algo, transA, transB, m, nrhs, nnz, &
|
|
alpha, descrA, csrValA, csrRowPtrA, csrColIndA, B, ldb, info, policy, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseZcsrsm2_solve')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrsm2_solve
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: algo
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nrhs
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: B
|
|
integer(c_int), value :: ldb
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrsm2_solve
|
|
|
|
! hipsparseXgemmi
|
|
function hipsparseSgemmi(handle, m, n, k, nnz, alpha, A, lda, cscValB, &
|
|
cscColPtrB, cscRowIndB, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseSgemmi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgemmi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: cscValB
|
|
type(c_ptr), intent(in), value :: cscColPtrB
|
|
type(c_ptr), intent(in), value :: cscRowIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseSgemmi
|
|
|
|
function hipsparseDgemmi(handle, m, n, k, nnz, alpha, A, lda, cscValB, &
|
|
cscColPtrB, cscRowIndB, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseDgemmi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgemmi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: cscValB
|
|
type(c_ptr), intent(in), value :: cscColPtrB
|
|
type(c_ptr), intent(in), value :: cscRowIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseDgemmi
|
|
|
|
function hipsparseCgemmi(handle, m, n, k, nnz, alpha, A, lda, cscValB, &
|
|
cscColPtrB, cscRowIndB, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseCgemmi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgemmi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: cscValB
|
|
type(c_ptr), intent(in), value :: cscColPtrB
|
|
type(c_ptr), intent(in), value :: cscRowIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseCgemmi
|
|
|
|
function hipsparseZgemmi(handle, m, n, k, nnz, alpha, A, lda, cscValB, &
|
|
cscColPtrB, cscRowIndB, beta, C, ldc) &
|
|
bind(c, name = 'hipsparseZgemmi')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgemmi
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: cscValB
|
|
type(c_ptr), intent(in), value :: cscColPtrB
|
|
type(c_ptr), intent(in), value :: cscRowIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), value :: C
|
|
integer(c_int), value :: ldc
|
|
end function hipsparseZgemmi
|
|
|
|
! ===========================================================================
|
|
! extra SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXcsrgeamNnz
|
|
function hipsparseXcsrgeamNnz(handle, m, n, descrA, nnzA, csrRowPtrA, &
|
|
csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, descrC, &
|
|
csrRowPtrC, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseXcsrgeamNnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrgeamNnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseXcsrgeamNnz
|
|
|
|
! hipsparseXcsrgeam
|
|
function hipsparseScsrgeam(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseScsrgeam')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgeam
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseScsrgeam
|
|
|
|
function hipsparseDcsrgeam(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseDcsrgeam')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgeam
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseDcsrgeam
|
|
|
|
function hipsparseCcsrgeam(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseCcsrgeam')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgeam
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseCcsrgeam
|
|
|
|
function hipsparseZcsrgeam(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseZcsrgeam')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgeam
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseZcsrgeam
|
|
|
|
! hipsparseXcsrgeam2_bufferSizeExt
|
|
function hipsparseScsrgeam2_bufferSizeExt(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrgeam2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgeam2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), intent(in), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), intent(in), value :: csrColIndC
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrgeam2_bufferSizeExt
|
|
|
|
function hipsparseDcsrgeam2_bufferSizeExt(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrgeam2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgeam2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), intent(in), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), intent(in), value :: csrColIndC
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrgeam2_bufferSizeExt
|
|
|
|
function hipsparseCcsrgeam2_bufferSizeExt(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrgeam2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgeam2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), intent(in), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), intent(in), value :: csrColIndC
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrgeam2_bufferSizeExt
|
|
|
|
function hipsparseZcsrgeam2_bufferSizeExt(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrgeam2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgeam2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), intent(in), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), intent(in), value :: csrColIndC
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrgeam2_bufferSizeExt
|
|
|
|
! hipsparseXcsrgeam2Nnz
|
|
function hipsparseXcsrgeam2Nnz(handle, m, n, descrA, nnzA, csrRowPtrA, &
|
|
csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, descrC, &
|
|
csrRowPtrC, nnzTotalDevHostPtr, workspace) &
|
|
bind(c, name = 'hipsparseXcsrgeam2Nnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrgeam2Nnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
type(c_ptr), value :: workspace
|
|
end function hipsparseXcsrgeam2Nnz
|
|
|
|
! hipsparseXcsrgeam2
|
|
function hipsparseScsrgeam2(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, buffer) &
|
|
bind(c, name = 'hipsparseScsrgeam2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgeam2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrgeam2
|
|
|
|
function hipsparseDcsrgeam2(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, buffer) &
|
|
bind(c, name = 'hipsparseDcsrgeam2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgeam2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrgeam2
|
|
|
|
function hipsparseCcsrgeam2(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, buffer) &
|
|
bind(c, name = 'hipsparseCcsrgeam2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgeam2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrgeam2
|
|
|
|
function hipsparseZcsrgeam2(handle, m, n, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, beta, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC, buffer) &
|
|
bind(c, name = 'hipsparseZcsrgeam2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgeam2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrgeam2
|
|
|
|
! hipsparseXcsrgemmNnz
|
|
function hipsparseXcsrgemmNnz(handle, transA, transB, m, n, k, descrA, nnzA, &
|
|
csrRowPtrA, csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, descrC, &
|
|
csrRowPtrC, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseXcsrgemmNnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrgemmNnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseXcsrgemmNnz
|
|
|
|
! hipsparseScsrgemm
|
|
function hipsparseScsrgemm(handle, transA, transB, m, n, k, descrA, nnzA, &
|
|
csrValA, csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseScsrgemm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgemm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseScsrgemm
|
|
|
|
function hipsparseDcsrgemm(handle, transA, transB, m, n, k, descrA, nnzA, &
|
|
csrValA, csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseDcsrgemm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgemm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseDcsrgemm
|
|
|
|
function hipsparseCcsrgemm(handle, transA, transB, m, n, k, descrA, nnzA, &
|
|
csrValA, csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseCcsrgemm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgemm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseCcsrgemm
|
|
|
|
function hipsparseZcsrgemm(handle, transA, transB, m, n, k, descrA, nnzA, &
|
|
csrValA, csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, &
|
|
csrColIndB, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseZcsrgemm')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgemm
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: transA
|
|
integer(c_int), value :: transB
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseZcsrgemm
|
|
|
|
! hipsparseXcsrgemm2_bufferSizeExt
|
|
function hipsparseScsrgemm2_bufferSizeExt(handle, m, n, k, alpha, descrA, &
|
|
nnzA, csrRowPtrA, csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrRowPtrD, csrColIndD, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrgemm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgemm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrgemm2_bufferSizeExt
|
|
|
|
function hipsparseDcsrgemm2_bufferSizeExt(handle, m, n, k, alpha, descrA, &
|
|
nnzA, csrRowPtrA, csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrRowPtrD, csrColIndD, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrgemm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgemm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrgemm2_bufferSizeExt
|
|
|
|
function hipsparseCcsrgemm2_bufferSizeExt(handle, m, n, k, alpha, descrA, &
|
|
nnzA, csrRowPtrA, csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrRowPtrD, csrColIndD, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrgemm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgemm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrgemm2_bufferSizeExt
|
|
|
|
function hipsparseZcsrgemm2_bufferSizeExt(handle, m, n, k, alpha, descrA, &
|
|
nnzA, csrRowPtrA, csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrRowPtrD, csrColIndD, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrgemm2_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgemm2_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrgemm2_bufferSizeExt
|
|
|
|
! hipsparseXcsrgemm2Nnz
|
|
function hipsparseXcsrgemm2Nnz(handle, m, n, k, descrA, nnzA, csrRowPtrA, &
|
|
csrColIndA, descrB, nnzB, csrRowPtrB, csrColIndB, descrD, nnzD, &
|
|
csrRowPtrD, csrColIndD, descrC, csrRowPtrC, nnzTotalDevHostPtr, info, &
|
|
buffer) &
|
|
bind(c, name = 'hipsparseXcsrgemm2Nnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrgemm2Nnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
type(c_ptr), intent(in), value :: info
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseXcsrgemm2Nnz
|
|
|
|
! hipsparseXcsrgemm2
|
|
function hipsparseScsrgemm2(handle, m, n, k, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrValD, csrRowPtrD, csrColIndD, descrC, csrValC, &
|
|
csrRowPtrC, csrColIndC, info, buffer) &
|
|
bind(c, name = 'hipsparseScsrgemm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrgemm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrValD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), intent(in), value :: info
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrgemm2
|
|
|
|
function hipsparseDcsrgemm2(handle, m, n, k, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrValD, csrRowPtrD, csrColIndD, descrC, csrValC, &
|
|
csrRowPtrC, csrColIndC, info, buffer) &
|
|
bind(c, name = 'hipsparseDcsrgemm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrgemm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrValD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), intent(in), value :: info
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrgemm2
|
|
|
|
function hipsparseCcsrgemm2(handle, m, n, k, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrValD, csrRowPtrD, csrColIndD, descrC, csrValC, &
|
|
csrRowPtrC, csrColIndC, info, buffer) &
|
|
bind(c, name = 'hipsparseCcsrgemm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrgemm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrValD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), intent(in), value :: info
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrgemm2
|
|
|
|
function hipsparseZcsrgemm2(handle, m, n, k, alpha, descrA, nnzA, csrValA, &
|
|
csrRowPtrA, csrColIndA, descrB, nnzB, csrValB, csrRowPtrB, csrColIndB, &
|
|
beta, descrD, nnzD, csrValD, csrRowPtrD, csrColIndD, descrC, csrValC, &
|
|
csrRowPtrC, csrColIndC, info, buffer) &
|
|
bind(c, name = 'hipsparseZcsrgemm2')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrgemm2
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: k
|
|
type(c_ptr), intent(in), value :: alpha
|
|
type(c_ptr), intent(in), value :: descrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: descrB
|
|
integer(c_int), value :: nnzB
|
|
type(c_ptr), intent(in), value :: csrValB
|
|
type(c_ptr), intent(in), value :: csrRowPtrB
|
|
type(c_ptr), intent(in), value :: csrColIndB
|
|
type(c_ptr), intent(in), value :: beta
|
|
type(c_ptr), intent(in), value :: descrD
|
|
integer(c_int), value :: nnzD
|
|
type(c_ptr), intent(in), value :: csrValD
|
|
type(c_ptr), intent(in), value :: csrRowPtrD
|
|
type(c_ptr), intent(in), value :: csrColIndD
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), intent(in), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), intent(in), value :: info
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrgemm2
|
|
|
|
! ===========================================================================
|
|
! preconditioner SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXbsrilu02_zeroPivot
|
|
function hipsparseXbsrilu02_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXbsrilu02_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXbsrilu02_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXbsrilu02_zeroPivot
|
|
|
|
! hipsparseXbsrilu02_bufferSize
|
|
function hipsparseSbsrilu02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseSbsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseSbsrilu02_bufferSize
|
|
|
|
function hipsparseDbsrilu02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDbsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDbsrilu02_bufferSize
|
|
|
|
function hipsparseCbsrilu02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCbsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCbsrilu02_bufferSize
|
|
|
|
function hipsparseZbsrilu02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZbsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZbsrilu02_bufferSize
|
|
|
|
! hipsparseXbsrilu02_analysis
|
|
function hipsparseSbsrilu02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseSbsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseSbsrilu02_analysis
|
|
|
|
function hipsparseDbsrilu02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDbsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDbsrilu02_analysis
|
|
|
|
function hipsparseCbsrilu02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCbsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCbsrilu02_analysis
|
|
|
|
function hipsparseZbsrilu02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZbsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZbsrilu02_analysis
|
|
|
|
! hipsparseXbsrilu02
|
|
function hipsparseSbsrilu02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseSbsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseSbsrilu02
|
|
|
|
function hipsparseDbsrilu02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDbsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDbsrilu02
|
|
|
|
function hipsparseCbsrilu02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCbsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCbsrilu02
|
|
|
|
function hipsparseZbsrilu02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZbsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZbsrilu02
|
|
|
|
! hipsparseXcsrilu02_zeroPivot
|
|
function hipsparseXcsrilu02_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXcsrilu02_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrilu02_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXcsrilu02_zeroPivot
|
|
|
|
! hipsparseXcsrilu02_bufferSize
|
|
function hipsparseScsrilu02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrilu02_bufferSize
|
|
|
|
function hipsparseDcsrilu02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrilu02_bufferSize
|
|
|
|
function hipsparseCcsrilu02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrilu02_bufferSize
|
|
|
|
function hipsparseZcsrilu02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrilu02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrilu02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrilu02_bufferSize
|
|
|
|
! hipsparseXcsrilu02_bufferSizeExt
|
|
function hipsparseScsrilu02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsrilu02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrilu02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsrilu02_bufferSizeExt
|
|
|
|
function hipsparseDcsrilu02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsrilu02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrilu02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsrilu02_bufferSizeExt
|
|
|
|
function hipsparseCcsrilu02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsrilu02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrilu02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsrilu02_bufferSizeExt
|
|
|
|
function hipsparseZcsrilu02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsrilu02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrilu02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsrilu02_bufferSizeExt
|
|
|
|
! hipsparseXcsrilu02_analysis
|
|
function hipsparseScsrilu02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrilu02_analysis
|
|
|
|
function hipsparseDcsrilu02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrilu02_analysis
|
|
|
|
function hipsparseCcsrilu02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrilu02_analysis
|
|
|
|
function hipsparseZcsrilu02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsrilu02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrilu02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrilu02_analysis
|
|
|
|
! hipsparseXcsrilu02
|
|
function hipsparseScsrilu02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsrilu02
|
|
|
|
function hipsparseDcsrilu02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsrilu02
|
|
|
|
function hipsparseCcsrilu02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsrilu02
|
|
|
|
function hipsparseZcsrilu02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsrilu02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsrilu02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsrilu02
|
|
|
|
! hipsparseXbsric02_zeroPivot
|
|
function hipsparseXbsric02_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXbsric02_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXbsric02_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXbsric02_zeroPivot
|
|
|
|
! hipsparseXbsric02_bufferSize
|
|
function hipsparseSbsric02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseSbsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseSbsric02_bufferSize
|
|
|
|
function hipsparseDbsric02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDbsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDbsric02_bufferSize
|
|
|
|
function hipsparseCbsric02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCbsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCbsric02_bufferSize
|
|
|
|
function hipsparseZbsric02_bufferSize(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZbsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZbsric02_bufferSize
|
|
|
|
! hipsparseXbsric02_analysis
|
|
function hipsparseSbsric02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseSbsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseSbsric02_analysis
|
|
|
|
function hipsparseDbsric02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDbsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDbsric02_analysis
|
|
|
|
function hipsparseCbsric02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCbsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCbsric02_analysis
|
|
|
|
function hipsparseZbsric02_analysis(handle, dir, mb, nnzb, descr, bsrVal, &
|
|
bsrRowPtr, bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZbsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZbsric02_analysis
|
|
|
|
! hipsparseXbsric02
|
|
function hipsparseSbsric02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseSbsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseSbsric02
|
|
|
|
function hipsparseDbsric02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDbsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDbsric02
|
|
|
|
function hipsparseCbsric02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCbsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCbsric02
|
|
|
|
function hipsparseZbsric02(handle, dir, mb, nnzb, descr, bsrVal, bsrRowPtr, &
|
|
bsrColInd, blockDim, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZbsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: bsrVal
|
|
type(c_ptr), intent(in), value :: bsrRowPtr
|
|
type(c_ptr), intent(in), value :: bsrColInd
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZbsric02
|
|
|
|
! hipsparseXcsric02_zeroPivot
|
|
function hipsparseXcsric02_zeroPivot(handle, info, position) &
|
|
bind(c, name = 'hipsparseXcsric02_zeroPivot')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsric02_zeroPivot
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: position
|
|
end function hipsparseXcsric02_zeroPivot
|
|
|
|
! hipsparseXcsric02_bufferSize
|
|
function hipsparseScsric02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsric02_bufferSize
|
|
|
|
function hipsparseDcsric02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsric02_bufferSize
|
|
|
|
function hipsparseCcsric02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsric02_bufferSize
|
|
|
|
function hipsparseZcsric02_bufferSize(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsric02_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsric02_bufferSize
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsric02_bufferSize
|
|
|
|
! hipsparseXcsric02_bufferSizeExt
|
|
function hipsparseScsric02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseScsric02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsric02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseScsric02_bufferSizeExt
|
|
|
|
function hipsparseDcsric02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseDcsric02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsric02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseDcsric02_bufferSizeExt
|
|
|
|
function hipsparseCcsric02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseCcsric02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsric02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseCcsric02_bufferSizeExt
|
|
|
|
function hipsparseZcsric02_bufferSizeExt(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, bufferSize) &
|
|
bind(c, name = 'hipsparseZcsric02_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsric02_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseZcsric02_bufferSizeExt
|
|
|
|
! hipsparseXcsric02_analysis
|
|
function hipsparseScsric02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsric02_analysis
|
|
|
|
function hipsparseDcsric02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsric02_analysis
|
|
|
|
function hipsparseCcsric02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsric02_analysis
|
|
|
|
function hipsparseZcsric02_analysis(handle, m, nnz, descr, csrVal, &
|
|
csrRowPtr, csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsric02_analysis')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsric02_analysis
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsric02_analysis
|
|
|
|
! hipsparseXcsric02
|
|
function hipsparseScsric02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseScsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseScsric02
|
|
|
|
function hipsparseDcsric02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseDcsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseDcsric02
|
|
|
|
function hipsparseCcsric02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseCcsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseCcsric02
|
|
|
|
function hipsparseZcsric02(handle, m, nnz, descr, csrVal, csrRowPtr, &
|
|
csrColInd, info, policy, buffer) &
|
|
bind(c, name = 'hipsparseZcsric02')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsric02
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: info
|
|
integer(c_int), value :: policy
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseZcsric02
|
|
|
|
! ===========================================================================
|
|
! conversion SPARSE
|
|
! ===========================================================================
|
|
|
|
! hipsparseXnnz
|
|
function hipsparseSnnz(handle, dir, m, n, descrA, A, lda, &
|
|
nnzPerRowColumn, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseSnnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSnnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), value :: nnzPerRowColumn
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseSnnz
|
|
|
|
function hipsparseDnnz(handle, dir, m, n, descrA, A, lda, &
|
|
nnzPerRowColumn, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseDnnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDnnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), value :: nnzPerRowColumn
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseDnnz
|
|
|
|
function hipsparseCnnz(handle, dir, m, n, descrA, A, lda, &
|
|
nnzPerRowColumn, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseCnnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCnnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), value :: nnzPerRowColumn
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseCnnz
|
|
|
|
function hipsparseZnnz(handle, dir, m, n, descrA, A, lda, &
|
|
nnzPerRowColumn, nnzTotalDevHostPtr) &
|
|
bind(c, name = 'hipsparseZnnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZnnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), value :: nnzPerRowColumn
|
|
type(c_ptr), value :: nnzTotalDevHostPtr
|
|
end function hipsparseZnnz
|
|
|
|
! hipsparseXdense2csr
|
|
function hipsparseSdense2csr(handle, m, n, descrA, A, lda, nnzPerRows, &
|
|
csrValA, csrRowPtrA, csrColIndA) &
|
|
bind(c, name = 'hipsparseSdense2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSdense2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerRows
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseSdense2csr
|
|
|
|
function hipsparseDdense2csr(handle, m, n, descrA, A, lda, nnzPerRows, &
|
|
csrValA, csrRowPtrA, csrColIndA) &
|
|
bind(c, name = 'hipsparseDdense2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDdense2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerRows
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseDdense2csr
|
|
|
|
function hipsparseCdense2csr(handle, m, n, descrA, A, lda, nnzPerRows, &
|
|
csrValA, csrRowPtrA, csrColIndA) &
|
|
bind(c, name = 'hipsparseCdense2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCdense2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerRows
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseCdense2csr
|
|
|
|
function hipsparseZdense2csr(handle, m, n, descrA, A, lda, nnzPerRows, &
|
|
csrValA, csrRowPtrA, csrColIndA) &
|
|
bind(c, name = 'hipsparseZdense2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZdense2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerRows
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseZdense2csr
|
|
|
|
! hipsparseXdense2csc
|
|
function hipsparseSdense2csc(handle, m, n, descrA, A, lda, nnzPerColumns, &
|
|
cscValA, cscRowPtrA, cscColIndA) &
|
|
bind(c, name = 'hipsparseSdense2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSdense2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerColumns
|
|
type(c_ptr), value :: cscValA
|
|
type(c_ptr), value :: cscRowPtrA
|
|
type(c_ptr), value :: cscColIndA
|
|
end function hipsparseSdense2csc
|
|
|
|
function hipsparseDdense2csc(handle, m, n, descrA, A, lda, nnzPerColumns, &
|
|
cscValA, cscRowPtrA, cscColIndA) &
|
|
bind(c, name = 'hipsparseDdense2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDdense2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerColumns
|
|
type(c_ptr), value :: cscValA
|
|
type(c_ptr), value :: cscRowPtrA
|
|
type(c_ptr), value :: cscColIndA
|
|
end function hipsparseDdense2csc
|
|
|
|
function hipsparseCdense2csc(handle, m, n, descrA, A, lda, nnzPerColumns, &
|
|
cscValA, cscRowPtrA, cscColIndA) &
|
|
bind(c, name = 'hipsparseCdense2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCdense2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerColumns
|
|
type(c_ptr), value :: cscValA
|
|
type(c_ptr), value :: cscRowPtrA
|
|
type(c_ptr), value :: cscColIndA
|
|
end function hipsparseCdense2csc
|
|
|
|
function hipsparseZdense2csc(handle, m, n, descrA, A, lda, nnzPerColumns, &
|
|
cscValA, cscRowPtrA, cscColIndA) &
|
|
bind(c, name = 'hipsparseZdense2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZdense2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: A
|
|
integer(c_int), value :: lda
|
|
type(c_ptr), intent(in), value :: nnzPerColumns
|
|
type(c_ptr), value :: cscValA
|
|
type(c_ptr), value :: cscRowPtrA
|
|
type(c_ptr), value :: cscColIndA
|
|
end function hipsparseZdense2csc
|
|
|
|
! hipsparseXcsr2dense
|
|
function hipsparseScsr2dense(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseScsr2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsr2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseScsr2dense
|
|
|
|
function hipsparseDcsr2dense(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseDcsr2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsr2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseDcsr2dense
|
|
|
|
function hipsparseCcsr2dense(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseCcsr2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsr2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseCcsr2dense
|
|
|
|
function hipsparseZcsr2dense(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseZcsr2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsr2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseZcsr2dense
|
|
|
|
! hipsparseXcsc2dense
|
|
function hipsparseScsc2dense(handle, m, n, descrA, cscValA, cscRowPtrA, &
|
|
cscColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseScsc2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsc2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: cscValA
|
|
type(c_ptr), intent(in), value :: cscRowPtrA
|
|
type(c_ptr), intent(in), value :: cscColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseScsc2dense
|
|
|
|
function hipsparseDcsc2dense(handle, m, n, descrA, cscValA, cscRowPtrA, &
|
|
cscColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseDcsc2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsc2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: cscValA
|
|
type(c_ptr), intent(in), value :: cscRowPtrA
|
|
type(c_ptr), intent(in), value :: cscColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseDcsc2dense
|
|
|
|
function hipsparseCcsc2dense(handle, m, n, descrA, cscValA, cscRowPtrA, &
|
|
cscColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseCcsc2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsc2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: cscValA
|
|
type(c_ptr), intent(in), value :: cscRowPtrA
|
|
type(c_ptr), intent(in), value :: cscColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseCcsc2dense
|
|
|
|
function hipsparseZcsc2dense(handle, m, n, descrA, cscValA, cscRowPtrA, &
|
|
cscColIndA, A, lda) &
|
|
bind(c, name = 'hipsparseZcsc2dense')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsc2dense
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: cscValA
|
|
type(c_ptr), intent(in), value :: cscRowPtrA
|
|
type(c_ptr), intent(in), value :: cscColIndA
|
|
type(c_ptr), value :: A
|
|
integer(c_int), value :: lda
|
|
end function hipsparseZcsc2dense
|
|
|
|
! hipsparseXnnz_compress
|
|
function hipsparseSnnz_compress(handle, m, descrA, csrValA, csrRowPtrA, &
|
|
nnzPerRow, nnzC, tol) &
|
|
bind(c, name = 'hipsparseSnnz_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSnnz_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), value :: nnzPerRow
|
|
type(c_ptr), value :: nnzC
|
|
real(c_float), value :: tol
|
|
end function hipsparseSnnz_compress
|
|
|
|
function hipsparseDnnz_compress(handle, m, descrA, csrValA, csrRowPtrA, &
|
|
nnzPerRow, nnzC, tol) &
|
|
bind(c, name = 'hipsparseDnnz_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDnnz_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), value :: nnzPerRow
|
|
type(c_ptr), value :: nnzC
|
|
real(c_double), value :: tol
|
|
end function hipsparseDnnz_compress
|
|
|
|
function hipsparseCnnz_compress(handle, m, descrA, csrValA, csrRowPtrA, &
|
|
nnzPerRow, nnzC, tol) &
|
|
bind(c, name = 'hipsparseCnnz_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCnnz_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), value :: nnzPerRow
|
|
type(c_ptr), value :: nnzC
|
|
complex(c_float_complex), value :: tol
|
|
end function hipsparseCnnz_compress
|
|
|
|
function hipsparseZnnz_compress(handle, m, descrA, csrValA, csrRowPtrA, &
|
|
nnzPerRow, nnzC, tol) &
|
|
bind(c, name = 'hipsparseZnnz_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZnnz_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), value :: nnzPerRow
|
|
type(c_ptr), value :: nnzC
|
|
complex(c_double_complex), value :: tol
|
|
end function hipsparseZnnz_compress
|
|
|
|
! hipsparseXcsr2coo
|
|
function hipsparseXcsr2coo(handle, csrRowPtr, nnz, m, cooRowInd, idxBase) &
|
|
bind(c, name = 'hipsparseXcsr2coo')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsr2coo
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
integer(c_int), value :: nnz
|
|
integer(c_int), value :: m
|
|
type(c_ptr), value :: cooRowInd
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseXcsr2coo
|
|
|
|
! hipsparseXcsr2csc
|
|
function hipsparseScsr2csc(handle, m, n, nnz, csrVal, csrRowPtr, csrColInd, &
|
|
cscVal, cscRowInd, cscColPtr, copyValues, idxBase) &
|
|
bind(c, name = 'hipsparseScsr2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsr2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: cscVal
|
|
type(c_ptr), value :: cscRowInd
|
|
type(c_ptr), value :: cscColPtr
|
|
integer(c_int), value :: copyValues
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseScsr2csc
|
|
|
|
function hipsparseDcsr2csc(handle, m, n, nnz, csrVal, csrRowPtr, csrColInd, &
|
|
cscVal, cscRowInd, cscColPtr, copyValues, idxBase) &
|
|
bind(c, name = 'hipsparseDcsr2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsr2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: cscVal
|
|
type(c_ptr), value :: cscRowInd
|
|
type(c_ptr), value :: cscColPtr
|
|
integer(c_int), value :: copyValues
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseDcsr2csc
|
|
|
|
function hipsparseCcsr2csc(handle, m, n, nnz, csrVal, csrRowPtr, csrColInd, &
|
|
cscVal, cscRowInd, cscColPtr, copyValues, idxBase) &
|
|
bind(c, name = 'hipsparseCcsr2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsr2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: cscVal
|
|
type(c_ptr), value :: cscRowInd
|
|
type(c_ptr), value :: cscColPtr
|
|
integer(c_int), value :: copyValues
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseCcsr2csc
|
|
|
|
function hipsparseZcsr2csc(handle, m, n, nnz, csrVal, csrRowPtr, csrColInd, &
|
|
cscVal, cscRowInd, cscColPtr, copyValues, idxBase) &
|
|
bind(c, name = 'hipsparseZcsr2csc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsr2csc
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: csrVal
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: cscVal
|
|
type(c_ptr), value :: cscRowInd
|
|
type(c_ptr), value :: cscColPtr
|
|
integer(c_int), value :: copyValues
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseZcsr2csc
|
|
|
|
! hipsparseXcsr2hyb
|
|
function hipsparseScsr2hyb(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, hybA, userEllWidth, partitionType) &
|
|
bind(c, name = 'hipsparseScsr2hyb')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsr2hyb
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: hybA
|
|
integer(c_int), value :: userEllWidth
|
|
integer(c_int), value :: partitionType
|
|
end function hipsparseScsr2hyb
|
|
|
|
function hipsparseDcsr2hyb(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, hybA, userEllWidth, partitionType) &
|
|
bind(c, name = 'hipsparseDcsr2hyb')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsr2hyb
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: hybA
|
|
integer(c_int), value :: userEllWidth
|
|
integer(c_int), value :: partitionType
|
|
end function hipsparseDcsr2hyb
|
|
|
|
function hipsparseCcsr2hyb(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, hybA, userEllWidth, partitionType) &
|
|
bind(c, name = 'hipsparseCcsr2hyb')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsr2hyb
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: hybA
|
|
integer(c_int), value :: userEllWidth
|
|
integer(c_int), value :: partitionType
|
|
end function hipsparseCcsr2hyb
|
|
|
|
function hipsparseZcsr2hyb(handle, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, hybA, userEllWidth, partitionType) &
|
|
bind(c, name = 'hipsparseZcsr2hyb')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsr2hyb
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), value :: hybA
|
|
integer(c_int), value :: userEllWidth
|
|
integer(c_int), value :: partitionType
|
|
end function hipsparseZcsr2hyb
|
|
|
|
! hipsparseXgebsr2gebsc_bufferSize
|
|
function hipsparseSgebsr2gebsc_bufferSize( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseSgebsr2gebsc_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseSgebsr2gebsc_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseSgebsr2gebsc_bufferSize
|
|
|
|
function hipsparseDgebsr2gebsc_bufferSize( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseDgebsr2gebsc_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseDgebsr2gebsc_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseDgebsr2gebsc_bufferSize
|
|
|
|
function hipsparseCgebsr2gebsc_bufferSize( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseCgebsr2gebsc_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseCgebsr2gebsc_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseCgebsr2gebsc_bufferSize
|
|
|
|
function hipsparseZgebsr2gebsc_bufferSize( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseZgebsr2gebsc_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseZgebsr2gebsc_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseZgebsr2gebsc_bufferSize
|
|
|
|
|
|
|
|
|
|
|
|
function hipsparseSgebsr2gebsc( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
bsc_val, &
|
|
bsc_row_ind, &
|
|
bsc_col_ptr, &
|
|
copy_values, &
|
|
idx_base, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseSgebsr2gebsc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseSgebsr2gebsc
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: bsc_val
|
|
type(c_ptr), intent(in), value :: bsc_row_ind
|
|
type(c_ptr), intent(in), value :: bsc_col_ptr
|
|
integer(c_int), value :: copy_values
|
|
integer(c_int), value :: idx_base
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseSgebsr2gebsc
|
|
|
|
function hipsparseDgebsr2gebsc( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
bsc_val, &
|
|
bsc_row_ind, &
|
|
bsc_col_ptr, &
|
|
copy_values, &
|
|
idx_base, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseDgebsr2gebsc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseDgebsr2gebsc
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: bsc_val
|
|
type(c_ptr), intent(in), value :: bsc_row_ind
|
|
type(c_ptr), intent(in), value :: bsc_col_ptr
|
|
integer(c_int), value :: copy_values
|
|
integer(c_int), value :: idx_base
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseDgebsr2gebsc
|
|
|
|
|
|
function hipsparseCgebsr2gebsc( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
bsc_val, &
|
|
bsc_row_ind, &
|
|
bsc_col_ptr, &
|
|
copy_values, &
|
|
idx_base, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseCgebsr2gebsc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseCgebsr2gebsc
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: bsc_val
|
|
type(c_ptr), intent(in), value :: bsc_row_ind
|
|
type(c_ptr), intent(in), value :: bsc_col_ptr
|
|
integer(c_int), value :: copy_values
|
|
integer(c_int), value :: idx_base
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseCgebsr2gebsc
|
|
|
|
function hipsparseZgebsr2gebsc( &
|
|
handle, &
|
|
mb,&
|
|
nb, &
|
|
nnzb, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
bsc_val, &
|
|
bsc_row_ind, &
|
|
bsc_col_ptr, &
|
|
copy_values, &
|
|
idx_base, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseZgebsr2gebsc')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseZgebsr2gebsc
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
integer(c_int), value :: nnzb
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: bsc_val
|
|
type(c_ptr), intent(in), value :: bsc_row_ind
|
|
type(c_ptr), intent(in), value :: bsc_col_ptr
|
|
integer(c_int), value :: copy_values
|
|
integer(c_int), value :: idx_base
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseZgebsr2gebsc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
! hipsparseXcsr2gebsr_bufferSize
|
|
function hipsparseScsr2gebsr_bufferSize( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseScsr2gebsr_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseScsr2gebsr_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseScsr2gebsr_bufferSize
|
|
|
|
function hipsparseDcsr2gebsr_bufferSize( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseDcsr2gebsr_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseDcsr2gebsr_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseDcsr2gebsr_bufferSize
|
|
|
|
function hipsparseCcsr2gebsr_bufferSize( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseCcsr2gebsr_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseCcsr2gebsr_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseCcsr2gebsr_bufferSize
|
|
|
|
|
|
function hipsparseZcsr2gebsr_bufferSize( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer_size) &
|
|
bind(c, name = 'hipsparseZcsr2gebsr_bufferSize')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseZcsr2gebsr_bufferSize
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: p_buffer_size
|
|
end function hipsparseZcsr2gebsr_bufferSize
|
|
|
|
! hipsparseXcsr2gebsrNnz
|
|
function hipsparseXcsr2gebsrNnz( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
bsr_descr, &
|
|
bsr_row_ptr, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
bsr_nnz_devhost, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseXcsr2gebsrNnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseXcsr2gebsrNnz
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
type(c_ptr), intent(in), value :: bsr_descr
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), value :: bsr_nnz_devhost
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseXcsr2gebsrNnz
|
|
|
|
! hipsparseScsr2gebsr
|
|
function hipsparseScsr2gebsr( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
bsr_descr, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseScsr2gebsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseScsr2gebsr
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
type(c_ptr), intent(in), value :: bsr_descr
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseScsr2gebsr
|
|
|
|
|
|
! hipsparseDcsr2gebsr
|
|
function hipsparseDcsr2gebsr( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
bsr_descr, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseDcsr2gebsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseDcsr2gebsr
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
type(c_ptr), intent(in), value :: bsr_descr
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseDcsr2gebsr
|
|
|
|
|
|
function hipsparseCcsr2gebsr( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
bsr_descr, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseCcsr2gebsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseCcsr2gebsr
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
type(c_ptr), intent(in), value :: bsr_descr
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseCcsr2gebsr
|
|
|
|
function hipsparseZcsr2gebsr( &
|
|
handle, &
|
|
dir, &
|
|
m, &
|
|
n, &
|
|
csr_descr, &
|
|
csr_val, &
|
|
csr_row_ptr, &
|
|
csr_col_ind, &
|
|
bsr_descr, &
|
|
bsr_val, &
|
|
bsr_row_ptr, &
|
|
bsr_col_ind, &
|
|
row_block_dim, &
|
|
col_block_dim, &
|
|
p_buffer) &
|
|
bind(c, name = 'hipsparseZcsr2gebsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) &
|
|
:: hipsparseZcsr2gebsr
|
|
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dir
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: csr_descr
|
|
type(c_ptr), intent(in), value :: csr_val
|
|
type(c_ptr), intent(in), value :: csr_row_ptr
|
|
type(c_ptr), intent(in), value :: csr_col_ind
|
|
type(c_ptr), intent(in), value :: bsr_descr
|
|
type(c_ptr), intent(in), value :: bsr_val
|
|
type(c_ptr), intent(in), value :: bsr_row_ptr
|
|
type(c_ptr), intent(in), value :: bsr_col_ind
|
|
integer(c_int), value :: row_block_dim
|
|
integer(c_int), value :: col_block_dim
|
|
type(c_ptr), intent(in), value :: p_buffer
|
|
end function hipsparseZcsr2gebsr
|
|
|
|
|
|
! hipsparseXcsr2bsrNnz
|
|
function hipsparseXcsr2bsrNnz(handle, dirA, m, n, descrA, csrRowPtrA, &
|
|
csrColIndA, blockDim, descrC, bsrRowPtrC, bsrNnzb) &
|
|
bind(c, name = 'hipsparseXcsr2bsrNnz')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsr2bsrNnz
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: bsrRowPtrC
|
|
type(c_ptr), value :: bsrNnzb
|
|
end function hipsparseXcsr2bsrNnz
|
|
|
|
! hipsparseXcsr2bsr
|
|
function hipsparseScsr2bsr(handle, dirA, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, blockDim, descrC, bsrValC, bsrRowPtrC, bsrColIndC) &
|
|
bind(c, name = 'hipsparseScsr2bsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsr2bsr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: bsrValC
|
|
type(c_ptr), value :: bsrRowPtrC
|
|
type(c_ptr), value :: bsrColIndC
|
|
end function hipsparseScsr2bsr
|
|
|
|
function hipsparseDcsr2bsr(handle, dirA, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, blockDim, descrC, bsrValC, bsrRowPtrC, bsrColIndC) &
|
|
bind(c, name = 'hipsparseDcsr2bsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsr2bsr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: bsrValC
|
|
type(c_ptr), value :: bsrRowPtrC
|
|
type(c_ptr), value :: bsrColIndC
|
|
end function hipsparseDcsr2bsr
|
|
|
|
function hipsparseCcsr2bsr(handle, dirA, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, blockDim, descrC, bsrValC, bsrRowPtrC, bsrColIndC) &
|
|
bind(c, name = 'hipsparseCcsr2bsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsr2bsr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: bsrValC
|
|
type(c_ptr), value :: bsrRowPtrC
|
|
type(c_ptr), value :: bsrColIndC
|
|
end function hipsparseCcsr2bsr
|
|
|
|
function hipsparseZcsr2bsr(handle, dirA, m, n, descrA, csrValA, csrRowPtrA, &
|
|
csrColIndA, blockDim, descrC, bsrValC, bsrRowPtrC, bsrColIndC) &
|
|
bind(c, name = 'hipsparseZcsr2bsr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsr2bsr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: bsrValC
|
|
type(c_ptr), value :: bsrRowPtrC
|
|
type(c_ptr), value :: bsrColIndC
|
|
end function hipsparseZcsr2bsr
|
|
|
|
! hipsparseXbsr2csr
|
|
function hipsparseSbsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, blockDim, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseSbsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSbsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseSbsr2csr
|
|
|
|
function hipsparseDbsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, blockDim, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseDbsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDbsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseDbsr2csr
|
|
|
|
function hipsparseCbsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, blockDim, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseCbsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCbsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseCbsr2csr
|
|
|
|
function hipsparseZbsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, blockDim, descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseZbsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZbsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: blockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseZbsr2csr
|
|
|
|
|
|
|
|
! hipsparseXgebsr2csr
|
|
function hipsparseSgebsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, rowBlockDim, colBlockDim,descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseSgebsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseSgebsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: rowBlockDim
|
|
integer(c_int), value :: colBlockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseSgebsr2csr
|
|
|
|
function hipsparseDgebsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, rowBlockDim, colBlockDim,descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseDgebsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDgebsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: rowBlockDim
|
|
integer(c_int), value :: colBlockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseDgebsr2csr
|
|
|
|
function hipsparseCgebsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, rowBlockDim, colBlockDim,descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseCgebsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCgebsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: rowBlockDim
|
|
integer(c_int), value :: colBlockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseCgebsr2csr
|
|
|
|
function hipsparseZgebsr2csr(handle, dirA, mb, nb, descrA, bsrValA, bsrRowPtrA, &
|
|
bsrColIndA, rowBlockDim, colBlockDim,descrC, csrValC, csrRowPtrC, csrColIndC) &
|
|
bind(c, name = 'hipsparseZgebsr2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZgebsr2csr
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: dirA
|
|
integer(c_int), value :: mb
|
|
integer(c_int), value :: nb
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: bsrValA
|
|
type(c_ptr), intent(in), value :: bsrRowPtrA
|
|
type(c_ptr), intent(in), value :: bsrColIndA
|
|
integer(c_int), value :: rowBlockDim
|
|
integer(c_int), value :: colBlockDim
|
|
type(c_ptr), intent(in), value :: descrC
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
type(c_ptr), value :: csrColIndC
|
|
end function hipsparseZgebsr2csr
|
|
|
|
|
|
|
|
|
|
! hipsparseXcsr2csr_compress
|
|
function hipsparseScsr2csr_compress(handle, m, n, descrA, csrValA, csrColIndA, &
|
|
csrRowPtrA, nnzA, nnzPerRow, csrValC, csrColIndC, csrRowPtrC, tol) &
|
|
bind(c, name = 'hipsparseScsr2csr_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseScsr2csr_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: nnzPerRow
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
real(c_float), value :: tol
|
|
end function hipsparseScsr2csr_compress
|
|
|
|
function hipsparseDcsr2csr_compress(handle, m, n, descrA, csrValA, csrColIndA, &
|
|
csrRowPtrA, nnzA, nnzPerRow, csrValC, csrColIndC, csrRowPtrC, tol) &
|
|
bind(c, name = 'hipsparseDcsr2csr_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDcsr2csr_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: nnzPerRow
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
real(c_double), value :: tol
|
|
end function hipsparseDcsr2csr_compress
|
|
|
|
function hipsparseCcsr2csr_compress(handle, m, n, descrA, csrValA, csrColIndA, &
|
|
csrRowPtrA, nnzA, nnzPerRow, csrValC, csrColIndC, csrRowPtrC, tol) &
|
|
bind(c, name = 'hipsparseCcsr2csr_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCcsr2csr_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: nnzPerRow
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
complex(c_float_complex), value :: tol
|
|
end function hipsparseCcsr2csr_compress
|
|
|
|
function hipsparseZcsr2csr_compress(handle, m, n, descrA, csrValA, csrColIndA, &
|
|
csrRowPtrA, nnzA, nnzPerRow, csrValC, csrColIndC, csrRowPtrC, tol) &
|
|
bind(c, name = 'hipsparseZcsr2csr_compress')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZcsr2csr_compress
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: csrValA
|
|
type(c_ptr), intent(in), value :: csrColIndA
|
|
type(c_ptr), intent(in), value :: csrRowPtrA
|
|
integer(c_int), value :: nnzA
|
|
type(c_ptr), intent(in), value :: nnzPerRow
|
|
type(c_ptr), value :: csrValC
|
|
type(c_ptr), value :: csrColIndC
|
|
type(c_ptr), value :: csrRowPtrC
|
|
complex(c_double_complex), value :: tol
|
|
end function hipsparseZcsr2csr_compress
|
|
|
|
! hipsparseXhyb2csr
|
|
function hipsparseShyb2csr(handle, descrA, hybA, csrValA, csrRowPtrA, &
|
|
csrColIndA) &
|
|
bind(c, name = 'hipsparseShyb2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseShyb2csr
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: hybA
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseShyb2csr
|
|
|
|
function hipsparseDhyb2csr(handle, descrA, hybA, csrValA, csrRowPtrA, &
|
|
csrColIndA) &
|
|
bind(c, name = 'hipsparseDhyb2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseDhyb2csr
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: hybA
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseDhyb2csr
|
|
|
|
function hipsparseChyb2csr(handle, descrA, hybA, csrValA, csrRowPtrA, &
|
|
csrColIndA) &
|
|
bind(c, name = 'hipsparseChyb2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseChyb2csr
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: hybA
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseChyb2csr
|
|
|
|
function hipsparseZhyb2csr(handle, descrA, hybA, csrValA, csrRowPtrA, &
|
|
csrColIndA) &
|
|
bind(c, name = 'hipsparseZhyb2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseZhyb2csr
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: descrA
|
|
type(c_ptr), intent(in), value :: hybA
|
|
type(c_ptr), value :: csrValA
|
|
type(c_ptr), value :: csrRowPtrA
|
|
type(c_ptr), value :: csrColIndA
|
|
end function hipsparseZhyb2csr
|
|
|
|
! hipsparseXcoo2csr
|
|
function hipsparseXcoo2csr(handle, cooRowInd, nnz, m, csrRowPtr, idxBase) &
|
|
bind(c, name = 'hipsparseXcoo2csr')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcoo2csr
|
|
type(c_ptr), value :: handle
|
|
type(c_ptr), intent(in), value :: cooRowInd
|
|
integer(c_int), value :: nnz
|
|
integer(c_int), value :: m
|
|
type(c_ptr), value :: csrRowPtr
|
|
integer(c_int), value :: idxBase
|
|
end function hipsparseXcoo2csr
|
|
|
|
! hipsparseCreateIdentityPermutation
|
|
function hipsparseCreateIdentityPermutation(handle, n, p) &
|
|
bind(c, name = 'hipsparseCreateIdentityPermutation')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseCreateIdentityPermutation
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: n
|
|
type(c_ptr), value :: p
|
|
end function hipsparseCreateIdentityPermutation
|
|
|
|
! hipsparseXcsrsort_bufferSizeExt
|
|
function hipsparseXcsrsort_bufferSizeExt(handle, m, n, nnz, csrRowPtr, &
|
|
csrColInd, bufferSize) &
|
|
bind(c, name = 'hipsparseXcsrsort_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrsort_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), intent(in), value :: csrColInd
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseXcsrsort_bufferSizeExt
|
|
|
|
! hipsparseXcsrsort
|
|
function hipsparseXcsrsort(handle, m, n, nnz, descr, csrRowPtr, csrColInd, &
|
|
perm, buffer) &
|
|
bind(c, name = 'hipsparseXcsrsort')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcsrsort
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: csrRowPtr
|
|
type(c_ptr), value :: csrColInd
|
|
type(c_ptr), value :: perm
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseXcsrsort
|
|
|
|
! hipsparseXcscsort_bufferSizeExt
|
|
function hipsparseXcscsort_bufferSizeExt(handle, m, n, nnz, cscRowPtr, &
|
|
cscColInd, bufferSize) &
|
|
bind(c, name = 'hipsparseXcscsort_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcscsort_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: cscRowPtr
|
|
type(c_ptr), intent(in), value :: cscColInd
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseXcscsort_bufferSizeExt
|
|
|
|
! hipsparseXcscsort
|
|
function hipsparseXcscsort(handle, m, n, nnz, descr, cscRowPtr, cscColInd, &
|
|
perm, buffer) &
|
|
bind(c, name = 'hipsparseXcscsort')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcscsort
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: descr
|
|
type(c_ptr), intent(in), value :: cscRowPtr
|
|
type(c_ptr), value :: cscColInd
|
|
type(c_ptr), value :: perm
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseXcscsort
|
|
|
|
! hipsparseXcoosort_bufferSizeExt
|
|
function hipsparseXcoosort_bufferSizeExt(handle, m, n, nnz, cooRowInd, &
|
|
cooColInd, bufferSize) &
|
|
bind(c, name = 'hipsparseXcoosort_bufferSizeExt')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcoosort_bufferSizeExt
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), intent(in), value :: cooRowInd
|
|
type(c_ptr), intent(in), value :: cooColInd
|
|
type(c_ptr), value :: bufferSize
|
|
end function hipsparseXcoosort_bufferSizeExt
|
|
|
|
! hipsparseXcoosortByRow
|
|
function hipsparseXcoosortByRow(handle, m, n, nnz, cooRowInd, cooColInd, &
|
|
perm, buffer) &
|
|
bind(c, name = 'hipsparseXcoosortByRow')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcoosortByRow
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: cooRowInd
|
|
type(c_ptr), value :: cooColInd
|
|
type(c_ptr), value :: perm
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseXcoosortByRow
|
|
|
|
! hipsparseXcoosortByColumn
|
|
function hipsparseXcoosortByColumn(handle, m, n, nnz, cooRowInd, cooColInd, &
|
|
perm, buffer) &
|
|
bind(c, name = 'hipsparseXcoosortByColumn')
|
|
use hipsparse_enums
|
|
use iso_c_binding
|
|
implicit none
|
|
integer(kind(HIPSPARSE_STATUS_SUCCESS)) :: hipsparseXcoosortByColumn
|
|
type(c_ptr), value :: handle
|
|
integer(c_int), value :: m
|
|
integer(c_int), value :: n
|
|
integer(c_int), value :: nnz
|
|
type(c_ptr), value :: cooRowInd
|
|
type(c_ptr), value :: cooColInd
|
|
type(c_ptr), value :: perm
|
|
type(c_ptr), value :: buffer
|
|
end function hipsparseXcoosortByColumn
|
|
|
|
end interface
|
|
|
|
end module hipsparse
|