亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Titan RTX 上雙精度和單精度的矩陣乘法基準測試

Titan RTX 上雙精度和單精度的矩陣乘法基準測試

www說 2023-08-15 17:28:09
我試圖了解我們的 GPU 工作站的單精度和雙精度之間的性能差異。我們的工作站配備了兩個 TITAN RTX GPU,但我在單個 Titan RTX 上運行基準測試。我正在使用 cublas 矩陣乘法測試性能。我將由隨機浮點數或雙精度數組成的 8192x8192 矩陣相乘。為了確保我這邊沒有錯誤,我還在Python中使用cupy庫重復了這個過程,結果非常相似。浮點型的測試結果約為每 1 次乘法 75 毫秒,雙精度型的測試結果約為 2,000 毫秒。如果我有一個較舊的 GPU,這將很有意義,因為 75*32 = 2,400~2000,因此我的雙精度性能將比 https://docs.nvidia 表中預期的差約 32 倍。然而,我的 GPU 的計算能力為 7.5,因此我預計性能只會翻倍 2 倍。其他信息:Ubuntu 18 LTS、nvcc 10.2、驅動程序 440.82。這是 CUDA 代碼:#include <iostream>#include <chrono>#include <string>#include <cuda_runtime.h>#include "cublas_v2.h"#include <math.h>#include <stdio.h>#include <cuda.h>#include <device_functions.h>#include <sstream>#include <time.h>unsigned long mix(unsigned long a, unsigned long b, unsigned long c){? ? a=a-b;? a=a-c;? a=a^(c >> 13);? ? b=b-c;? b=b-a;? b=b^(a << 8);? ? c=c-a;? c=c-b;? c=c^(b >> 13);? ? a=a-b;? a=a-c;? a=a^(c >> 12);? ? b=b-c;? b=b-a;? b=b^(a << 16);? ? c=c-a;? c=c-b;? c=c^(b >> 5);? ? a=a-b;? a=a-c;? a=a^(c >> 3);? ? b=b-c;? b=b-a;? b=b^(a << 10);? ? c=c-a;? c=c-b;? c=c^(b >> 15);? ? return c;}using namespace std;int main(){? ? ? ? int deviceCount;? ? ? ? cudaGetDeviceCount(&deviceCount);? ? ? ? cudaDeviceProp deviceProp;? ? ? ? cublasStatus_t err;? ? ? ? cudaGetDeviceProperties(&deviceProp, 0);? ? ? ? printf("Detected %d devices \n", deviceCount);? ? ? ? printf("Device %d has compute capability %d.%d:\n\t maxshmem %d. \n\t maxthreads per block %d. \n\t max threads dim %d. %d. %d.\n ", 0,? ? ? ? ? ? ? ? deviceProp.major, deviceProp.minor, deviceProp.sharedMemPerBlock, deviceProp.maxThreadsPerBlock, deviceProp.maxThreadsDim[0],? ? ? ? ? ? ? ? deviceProp.maxThreadsDim[1], deviceProp.maxThreadsDim[2]);? ? ? ? cudaEvent_t start_d, stop_d;? ? ? ? cudaEventCreate(&start_d);? ? ? ? cudaEventCreate(&stop_d);? ? ? ? //RND insicialization? ? ? ? unsigned long seed = mix(clock(), time(NULL), 0);? ? ? ?srand(seed);? ? ? ? int N=8192;? ? ? ? int Nloops=2;? ? ? ? ? ? ? ? }}
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

好的,有一個腳注表示,對于計算能力 7.5(此處的情況),性能為 2,但不是 32,對于浮點數,性能為 64,這意味著乘法加加雙精度數的運算比浮點數慢 32 倍。

如果 float 和 double 問題都完全受算術限制,我預計速度減慢約為 32。實際上,減速幅度略?。?000/75 ~ 27),這可能是浮動帶寬受限問題的結果,也可能與其他因素有關。


查看完整回答
反對 回復 2023-08-15
  • 1 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號