哈囉~來觀看的大大各位好啊!

 

上一篇文已介紹如何安裝Anaconda虛擬環境與GPU版本

這次要來測試CPU與GPU到底效能差別差多大~~
所以我們撰寫一個簡單的測試程式來看看吧!

 

Step 1. 在tensorflow-gpu虛擬環境開啟jupyter notebook後建立一個新檔案
不知道如何開啟請往前翻閱文章囉!不在此贅述

先import 需要的模組進來城市

import tensorflow as tf
import time

1.png

 

Step 2. 定義一個function

此function會隨機產生數值在M1,M2這兩個矩陣(size可根據輸入來指定矩陣大小)

然後將兩個矩陣做乘法運算

最後再將矩陣內的直加總

我們透過start_time來記錄開始時間,take_time來記錄花的時間(結束時間-開始時間)

def DeviceTest(device_name,size):
    with tf.device(device_name):       
        M1=tf.random_normal([size,size],name='M1')
        M2=tf.random_normal([size,size],name='M2')
        mul=tf.matmul(M1,M2,name='mul')
        sum_result=tf.reduce_sum(mul,name='sum_result')
        

        start_time=time.time()
        
        with tf.Session() as sess:
            result=sess.run(sum_result)
        
        take_time=time.time()-start_time       
        print(device_name,"  size=",size, " Time:",take_time)
        
        return take_time  #這樣append到SET才有東西

2.png

 

Step 3.我們設一個迴圈來跑不同size的矩陣

可以看看以下每一個迴圈的結果所花的時間

並儲存結果在Set裡面

Gpu_Set=[];  Cpu_set=[];  Size_set=[]

for i in range(0,10001,500):
    TestGpu=DeviceTest("/gpu:0",i)
    TestCpu=DeviceTest("/cpu:0",i)
    
    print("-"*100)
    
    Gpu_Set.append(TestGpu)
    Cpu_set.append(TestCpu)
    Size_set.append(i)

3.png

以下結果

4.png

 

Step 4. 先import 等等要畫出來的模組

import matplotlib.pyplot as plt
fig=plt.gcf()
fig.set_size_inches(10,10)

5.png

 

Step 5. 我們將剛剛跑的結果給show出來
很明顯CPU真的與GPU後期真的相差越來越大......

plt.plot(Size_set, Gpu_Set ,label='GPU')
plt.plot(Size_set, Cpu_set ,label='CPU')
plt.legend()

6.png

 

感謝收看~~

這就是簡單的測試成果囉!

 

有興趣的還請再多多關注我,也可以一起討論一些問題喔!
那我們下次見~~

arrow
arrow
    創作者介紹
    創作者 繁星翱翔 的頭像
    繁星翱翔

    繁星翱翔的部落格

    繁星翱翔 發表在 痞客邦 留言(0) 人氣()