cupy

 

前提:傳統的數組和矩陣都是通過numpy來設定,然後numpy來調用cpu計算!
cupy的作用:數組和矩陣都是通過cupy來設定,然後cupy來調用gpu並行計算!

區別與聯繫:

  • 區別:numpy自動調用cpu來進行"數組和矩陣間"的計算,計算任務默認單進程;cupy自動調用gpu來進行"數組和矩陣間"的計算,gpu中默認並行計算!
  • 聯繫:二者的函數和實操的功能基本完全一樣,一般只需把np.xxx()改成cp.xxx()即可。當然,cupy還未完全寫完,有些numpy的函數它還未實現(基本用不到)。

cupy的優勢:專門進行大型、高維數組/矩陣的快速計算(非常非常快)!

 

在windows上通過pip安裝需要注意cuda的版本,nvcc -V可查看cuda版本,筆者是cuda9.0版本的,安裝cupy的指令爲pip install cupy-cuda90.

cuda10.0:

pip install cupy-cuda100

 

@cupy.util.memoize(for_each_device=True)
def load_kernel(kernel_name, code, **kwargs):
    code = Template(code).substitute(**kwargs)
    kernel_code = cupy.cuda.compile_with_cache(code)
    return kernel_code.get_function(kernel_name)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章