成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

比較CPU和GPU中的矩陣計(jì)算

開(kāi)發(fā) 前端
GPU 計(jì)算與 CPU 相比能夠快多少?在本文中,我將使用 Python 和 PyTorch 線(xiàn)性變換函數(shù)對(duì)其進(jìn)行測(cè)試。

GPU 計(jì)算與 CPU 相比能夠快多少?在本文中,我將使用 Python 和 PyTorch 線(xiàn)性變換函數(shù)對(duì)其進(jìn)行測(cè)試。

圖片

以下是測(cè)試機(jī)配置:

CPU:英特爾 i7 6700k (4c/8t) GPU:RTX 3070 TI(6,144 個(gè) CUDA 核心和 192 個(gè) Tensor 核心) 內(nèi)存:32G 操作系統(tǒng):Windows 10

無(wú)論是cpu和顯卡都是目前常見(jiàn)的配置,并不是頂配(等4090能夠正常發(fā)貨后我們會(huì)給出目前頂配的測(cè)試結(jié)果)?

NVIDIA GPU 術(shù)語(yǔ)解釋

CUDA 是Compute Unified Device Architecture的縮寫(xiě)。可以使用 CUDA 直接訪(fǎng)問(wèn) NVIDIA GPU 指令集,與專(zhuān)門(mén)為構(gòu)建游戲引擎而設(shè)計(jì)的 DirectX 和 OpenGL 不同,CUDA 不需要用戶(hù)理解復(fù)雜的圖形編程語(yǔ)言。但是需要說(shuō)明的是CUDA為N卡獨(dú)有,所以這就是為什么A卡對(duì)于深度學(xué)習(xí)不友好的原因之一。

Tensor Cores是加速矩陣乘法過(guò)程的處理單元。

例如,使用 CPU 或 CUDA 將兩個(gè) 4×4 矩陣相乘涉及 64 次乘法和 48 次加法,每個(gè)時(shí)鐘周期一次操作,而Tensor Cores每個(gè)時(shí)鐘周期可以執(zhí)行多個(gè)操作。

上面的圖來(lái)自 Nvidia 官方對(duì) Tensor Cores 進(jìn)行的介紹視頻

CUDA 核心和 Tensor 核心之間有什么關(guān)系?Tensor Cores 內(nèi)置在 CUDA 核心中,當(dāng)滿(mǎn)足某些條件時(shí),就會(huì)觸發(fā)這些核心的操作。

測(cè)試方法

GPU的計(jì)算速度僅在某些典型場(chǎng)景下比CPU快。在其他的一般情況下,GPU的計(jì)算速度可能比CPU慢!但是CUDA在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中被廣泛使用,因?yàn)樗诓⑿芯仃嚦朔ê图臃ǚ矫嫣貏e出色。

上面的操作就是我們常見(jiàn)的線(xiàn)性操作,公式是這個(gè)

這就是PyTorch的線(xiàn)性函數(shù)torch.nn.Linear的操作。可以通過(guò)以下代碼將2x2矩陣轉(zhuǎn)換為2x3矩陣:

import torch
in_row,in_f,out_f = 2,2,3
tensor = torch.randn(in_row,in_f)
l_trans = torch.nn.Linear(in_f,out_f)
print(l_trans(tensor))

CPU 基線(xiàn)測(cè)試

在測(cè)量 GPU 性能之前,我需要線(xiàn)測(cè)試 CPU 的基準(zhǔn)性能。

為了給讓芯片滿(mǎn)載和延長(zhǎng)運(yùn)行時(shí)間,我增加了in_row、in_f、out_f個(gè)數(shù),也設(shè)置了循環(huán)操作10000次。

import torch
import torch.nn
import timein_row, in_f, out_f = 256, 1024, 2048
loop_times = 10000

現(xiàn)在,讓我們看看CPU完成10000個(gè)轉(zhuǎn)換需要多少秒:

s       = time.time()
tensor = torch.randn(in_row, in_f).to('cpu')
l_trans = torch.nn.Linear(in_f, out_f).to('cpu')
for _ in range(loop_times):

print('cpu take time:',time.time()-s)

#cpu take time: 55.70971965789795

可以看到cpu花費(fèi)55秒。

GPU計(jì)算

為了讓GPU的CUDA執(zhí)行相同的計(jì)算,我只需將. To (' cpu ')替換為. cuda()。另外,考慮到CUDA中的操作是異步的,我們還需要添加一個(gè)同步語(yǔ)句,以確保在所有CUDA任務(wù)完成后打印使用的時(shí)間。

s       = time.time()
tensor = torch.randn(in_row, in_f).cuda()
l_trans = torch.nn.Linear(in_f, out_f).cuda()
for _ in range(loop_times):


torch.cuda.synchronize()
print('CUDA take time:',time.time()-s)

#CUDA take time: 1.327127456665039

并行運(yùn)算只用了1.3秒,幾乎是CPU運(yùn)行速度的42倍。這就是為什么一個(gè)在CPU上需要幾天訓(xùn)練的模型現(xiàn)在在GPU上只需要幾個(gè)小時(shí)。因?yàn)椴⑿械暮?jiǎn)單計(jì)算式GPU的強(qiáng)項(xiàng)

如何使用Tensor Cores

CUDA已經(jīng)很快了,那么如何啟用RTX 3070Ti的197Tensor Cores?,啟用后是否會(huì)更快呢?在PyTorch中我們需要做的是減少浮點(diǎn)精度從FP32到FP16。,也就是我們說(shuō)的半精度或者叫混合精度

s       = time.time()
tensor = torch.randn(in_row, in_f).cuda().half()
layer = torch.nn.Linear(in_f, out_f).cuda().half()
for _ in range(loop_times):

torch.cuda.synchronize()
print('CUDA with tensor cores take time:',time.time()-s)

#CUDA with tensor cores take time:0.5381264686584473

又是2.6倍的提升。

總結(jié)

在本文中,通過(guò)在CPU、GPU CUDA和GPU CUDA +Tensor Cores中調(diào)用PyTorch線(xiàn)性轉(zhuǎn)換函數(shù)來(lái)比較線(xiàn)性轉(zhuǎn)換操作。下面是一個(gè)總結(jié)的結(jié)果:

圖片

NVIDIA的CUDA和Tensor Cores確實(shí)大大提高了矩陣乘法的性能。

后面我們會(huì)有兩個(gè)方向的更新

1、介紹一些簡(jiǎn)單的CUDA操作(通過(guò)Numba),這樣可以讓我們了解一些細(xì)節(jié)

2、我們會(huì)在拿到4090后發(fā)布一個(gè)專(zhuān)門(mén)針對(duì)深度學(xué)習(xí)的評(píng)測(cè),這樣可以方便大家購(gòu)買(mǎi)可選擇

責(zé)任編輯:華軒 來(lái)源: DeepHub IMBA
相關(guān)推薦

2021-04-13 13:21:58

CPUGPU異構(gòu)

2019-08-21 09:24:45

GPUCPU深度學(xué)習(xí)

2019-01-03 14:21:51

CPUGPU系統(tǒng)

2010-06-22 13:11:18

超級(jí)計(jì)算機(jī)未來(lái)

2019-07-22 15:37:56

CPU核心GPU

2020-06-28 09:40:58

操作系統(tǒng)GPUCPU

2011-06-21 14:23:15

GPUCPU高性能計(jì)算

2019-06-03 20:00:09

LinuxCPU溫度GPU溫度

2024-09-27 08:10:57

2023-12-11 07:52:19

圖像處理矩陣計(jì)算計(jì)算機(jī)視覺(jué)

2012-09-24 09:35:31

APUCPUGPU

2024-10-23 09:05:07

PixijsMatrixTransform

2018-12-24 10:53:48

2021-07-06 06:26:43

動(dòng)態(tài)計(jì)算圖GPU深度學(xué)習(xí)

2021-06-09 13:10:01

CPUGPUVCU

2018-11-13 13:10:10

CPUGPUTPU

2024-09-09 04:00:00

GPU人工智能

2010-06-21 10:31:25

GPU

2023-02-08 17:04:14

Python計(jì)算庫(kù)數(shù)學(xué)函數(shù)

2009-03-21 15:15:33

Nehalem服務(wù)器HPC
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91人人视频在线观看 | 91精品国产一区二区三区动漫 | 婷婷五月色综合香五月 | 男人电影天堂 | 超碰人人91| 精品动漫一区 | 美女一级a毛片免费观看97 | 国产精品一区网站 | 国产女人与拘做视频免费 | 欧美日韩国产一区 | www.亚洲精品| 日本免费黄色一级片 | 日日日视频 | 久久久免费少妇高潮毛片 | 福利视频一区二区三区 | 黄网站色大毛片 | 精品欧美一区二区在线观看视频 | 国产精品明星裸体写真集 | 亚洲色综合 | 日本激情视频在线播放 | 亚洲一区二区在线 | 很很干很很日 | 日韩高清在线观看 | 亚洲综合婷婷 | 日本不卡在线视频 | 久久久久国| 在线观看国产 | 色婷婷综合网 | 北条麻妃99精品青青久久主播 | 欧美一级久久精品 | 日韩精品一区二区三区中文在线 | 一区二区三区四区在线视频 | 久久精品国产亚洲一区二区三区 | 成人精品视频在线观看 | 成人欧美一区二区三区在线播放 | 中文字幕在线播放不卡 | 免费一级黄 | 9久久婷婷国产综合精品性色 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 91极品尤物在线播放国产 | 欧美一区二区在线免费观看 |