python編程 CUDA有什么用?
CUDA有什么用?CUDA(Compute Unified Device Architecture)是NVIDIA推出的計算平臺。隨著圖形卡的發(fā)展,GPU的功能越來越強大,GPU對顯示圖像進行了優(yōu)化,
CUDA有什么用?
CUDA(Compute Unified Device Architecture)是NVIDIA推出的計算平臺。隨著圖形卡的發(fā)展,GPU的功能越來越強大,GPU對顯示圖像進行了優(yōu)化,在計算方面已經(jīng)超過了普通CPU。如果這樣一個功能強大的芯片僅僅用作顯卡,那就太浪費了。因此,NVIDIA推出了CUDA,它使圖形卡可以用于圖像計算以外的其他用途。由于GPU具有數(shù)據(jù)密集處理和并行計算的特點,CUDA非常適合需要大規(guī)模并行計算的領域。目前CUDA可以用C語言開發(fā),并提供FORTRAN應用接口。預計CUDA未來將支持C語言,可廣泛應用于圖形動畫、科學計算、地質(zhì)、生物、物理模擬等領域。
Python語言其實很慢,為什么機器學習這種快速算法步驟通常還是用呢?
對于那些使用了多種開發(fā)語言(Java、C#、nodejs、Erlang)然后轉(zhuǎn)用Python進行機器學習的人,我想談談我的看法。
首先,Python真的很慢嗎?我的回答是真的。非常慢。for循環(huán)比CPP慢兩個數(shù)量級。
那么為什么要使用Python呢?如果我們遍歷超過一億個數(shù)據(jù),兩個數(shù)量級的差異是不可接受的。但是,如果我們使用Python來執(zhí)行頂層邏輯并阻塞數(shù)以億計的數(shù)據(jù),Python只會循環(huán)十幾次,剩下的就留給CPU和GPU了。所以兩個數(shù)量級無關緊要?一毫秒和100毫秒在整個系統(tǒng)中并不重要。
Python最大的優(yōu)點是它可以非常優(yōu)雅地將數(shù)據(jù)拋出到高效的C、CUDA中進行計算。Numpy、panda、numba這些優(yōu)秀的開源庫可以非常方便高效地處理海量數(shù)據(jù),借助ZMQ、cell等還可以做分布式計算,gevent借助epoll系統(tǒng)IO優(yōu)化。因此,它不需要花費太多的精力就可以優(yōu)雅高效地完成海量數(shù)據(jù)處理和機器學習任務。這就是Python如此流行的原因。
好好想想。同樣的性能,代碼只有CPP或Java的三分之一或更少,不是很吸引人嗎?
人工智能和python是什么關系?
人工智能是一個大概念,具體落地人工智能項目會聯(lián)系機器學習和深度學習框架,這些框架大多是基于Python開發(fā)的,所以為了進一步人工智能項目的開發(fā),Python語言的學習也是很有必要的!