OpenACC與cublas交互-fortran版本

目前,cuda有許多庫函數可以直接調用,不多都是基於C開發,對於Fortran用戶,稍顯麻煩一點的是需要自己定義調用這些庫函數的接口。據我的瞭解,目前cubals,cula已經做好接口,可以直接使用。下面就以cubals爲例:

! openacc_cublas.f90
program main
  use cublas
  integer, parameter :: N = 2**20
  real, dimension(N) :: X, Y

  X(:) = 1.0
  Y(:) = 0.0

  !$acc data copy(y) copyin(x)
  !$acc host_data use_device(x,y)
  call cublassaxpy(N, 2.0, x, 1, y, 1)
  !$acc end host_data
  !$acc end data

  print *, y(1)
end program

編譯:
  1. pgf90  -o cuda_fortran_opencc_cublas  openacc_cublas.f90  -acc -Mcuda=cc3.5 -Minfo -lcublas

發佈了40 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章